我正在尝试查找未托管在普通 Inetpub\wwwroot 中的 Web 服务的文件路径。我想找到 Web 服务的版本来检查以确保 2 台 PC 具有与我现在所做的相同的版本,只要我指定确切的文件路径或 Web 服务保持在正常位置。不幸的是,我有一些 PC 在多个位置都有 Web 服务,因此实际上不可能指定文件路径。我可以看到之前已经提出过此类问题(在远程计算机上获取 IIS Web 服务的 .svc 文件信息),但我找不到这些问题的答案。
任何想法将不胜感激。
编辑:如果目标 PC 上没有任何东西(额外的网络方法或服务或辅助应用程序来提取信息),我试图做的事情很可能实际上是不可能的。如果这种情况很好,我正在考虑让用户指向在远程 PC 上具有 Web 服务的目录,如果它对于在多个目录中具有 Web 服务的 PC 来说非常笨重,它将起作用。
Edit2:我发现了一些我觉得让我更接近的东西。我现在拥有的是:
string path = "IIS://ServernameorIP/W3SVC";
DirectoryEntry w3svc = new DirectoryEntry(path, AdministratorUser, AdministratorUserPassword, 0);
w3svc.RefreshCache();//not sure if this is needed
foreach (DirectoryEntry entry in w3svc.Children)
{
//do some stuff to get the paths
}
这让我得到了一些信息,弄乱了路径让我得到了我正在寻找的网站。但是,我不确定如何拉动物理路径。我在 DirectoryEntry 上的模拟也有问题。我给它一个管理员用户和密码,它似乎仍然发送我的本地用户和密码,事实证明,在我将我的用户和密码添加到远程 PC 之前,这些行不起作用。对这两个中的任何一个的任何帮助将不胜感激。
提前致谢。