对于每个虚拟目录,我需要验证 UNC 连接凭据是否有效并通过身份验证。
我正在使用Microsoft.Web.Administration API 来管理我的 IIS 配置。API 确实公开了 UNC 连接的用户名和密码,但我找不到测试连接结果(见屏幕截图)。
有没有办法通过 API 检索测试结果?如果没有,您是否熟悉解决该问题的其他方法?
对于每个虚拟目录,我需要验证 UNC 连接凭据是否有效并通过身份验证。
我正在使用Microsoft.Web.Administration API 来管理我的 IIS 配置。API 确实公开了 UNC 连接的用户名和密码,但我找不到测试连接结果(见屏幕截图)。
有没有办法通过 API 检索测试结果?如果没有,您是否熟悉解决该问题的其他方法?
如果您使用 .NET Reflector 稍微搜索一下,您会发现此对话框后面的代码位于Microsoft.Web.Management.Iis.dll
程序集中。此程序集位于 GAC 中(如果您使用 Reflector,只需执行 File / Open Global Assembly Cache,然后选择此 DLL)。
更准确地说,代码是在Microsoft.Web.Management.Iis.WebObjects.WebObjectsTestConnectionHelper
类方法中实现的public PropertyBag TestConnection(PropertyBag bag)
。
不幸的是,这个类是非公开的,因为代码是特定于 IIS 的,而不是一般的“unc 连接测试代码”。但是,整个实现都位于此处,因此您可以通过使用 Reflector 查看它并 1)使用您自己的代码重现它,或 2)使用反射机制调用它,从而真正了解它在做什么。可以通过查看方法(和子方法)主体来确定输入 PropertyBag 中必须包含的内容。