3

我的任务是编写一个程序,该程序将在我们的主应用程序上运行一组诊断测试。一个应用程序使用 WCF over HTTP(这是出于互操作性的原因,因此不能更改为使用 NET.TCp 或任何其他风格的 WCF 通信通道),并且由于它不应在提升的权限下运行,因此需要进行 HTTP 命名空间保留(https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/configuring-http-and-https)。

我的问题是 - 是否有可能以编程方式确定命名空间保留是否以与操作系统无关的方式进行(使用 C#/.NET 3.5 或 4)?我能想到的唯一方法是创建一个小型 WCF 应用程序,该应用程序将尝试通过我感兴趣的 http 通道进行通信并捕获异常......但这似乎是解决我的问题的一种非常不优雅的方式.

我希望能够找到的原因是许多客户“忘记”进行预订,因此它一直在产生呼叫 - 诊断程序旨在检查众所周知的问题,例如这个问题并显示一个友好的警告,因为在客户端站点上调试 WCF 并不是我的乐趣所在。

4

1 回答 1

1

AFAIK 除非您调用服务,否则没有编程方式可以发现它。ACL 设置在服务器端的系统级别。服务器不共享那种信息。您将能够知道是否授予访问权限的唯一答案。

于 2012-08-02T20:07:49.260 回答