2011-12-02 2 views
0

내부 애플리케이션 용 웹 서비스 인터페이스를 만들려고합니다. 많은 것들 중에서 MessageBox.Show()를 호출해야하는 많은 것들을 재사용해야한다. 나는 그 전화를 치지 않기 위해 입력을 검증하려고 노력하지만, 나는 성공했는지 확신 할 수 없다..net 4 CAS : 특정 권한 제거

따라서 UIPrivilege를 거부하는 것에 대해 생각했습니다. 나는 다음과 같이 수행

void DoSomething() { 
    new UIPermission(UIPermissionWindow.NoWindows).PermitOnly(); 
    DoTheRealWork(); 
} 

이가 어떤 UI를 허용하지 않는다는 의미에서 작동하지만, 그것은 또한 코드가 필요합니다 관련이없는 권한을 허용하지 않습니다 (예를 들어 OleDbPermission합니다.). 어떻게 UIPermission을 거부 할 수 있습니까? 다른 권한은 건드리지 않고 코드를 완전히 신뢰합니다.

(UIPermission.Deny()은 .net framework 4에서 사용되지 않으며 사용시 오류가 발생하므로 유효한 대답은 아닙니다.)

답변

0

정확히 달성하려는 것은 무엇입니까? 웹 서비스가 UserInteractive 모드 에서 실행 중이 어서는 안되기 때문에 코드가 메시지 상자를 표시하려고하면 런타임 예외가 발생합니다. 이는 권한 세부 정보를 제외하고 권한을 성공적으로 제한 한 것과 동일한 동작이므로 권한 제한 kludge를 왜 귀찮게합니까?


1, 기본적으로 사용자가 대화 형으로 실행되지 않습니다 IIS에 배포 웹 서비스



. 그러나 Cassini 개발 웹 서버에서 실행 중이면 IIS 배포의 동작을 확인해야합니다.