2012-05-23 63 views
3

我的任務是編寫一個程序,該程序將在我們的主應用程序上運行一組診斷測試。一個應用程序使用基於HTTP的WCF(這是出於互操作性原因,因此無法更改爲使用NET.TCp或任何其他WCF通信通道),並且因爲它不應該在提升的特權下運行,它需要進行HTTP命名空間預留(http://msdn.microsoft.com/en-us/library/ms733768.aspx`)。以編程方式檢查Http命名空間預留

我的問題是 - 是否有可能以編程方式找出命名空間預留是否以操作系統不可知的方式(使用c#/ .NET 3.5或4)進行?我能想到的唯一方法就是創建一個小的WCF應用程序,它將嘗試通過我感興趣的http通道進行通信並捕獲異常......但它似乎是一種解決我的問題的非常優雅的方式。

我希望能夠發現的原因是許多客戶已經「忘記」進行預訂,因此它一直在生成呼叫 - 診斷程序旨在檢查諸如此類的已知問題一個和顯示一個友好的警告,因爲調試客戶端網站上的WCF只是不是我的樂趣。

任何幫助,將不勝感激。 Jay

回答

1

AFAIK除非您撥打服務電話,否則沒有編程方法可以發現它。 ACL在服務器端的系統級別上設置。服務器不共享這種信息。唯一的答案是你將能夠知道訪問是否被授予。

+0

這幾乎是我得出的結論 - 感謝您花時間回答 – Jay