gpt4 book ai didi

c# - 无法在 Remote PC C# 上的 inetpub\wwwroot 中查找 Web 服务的文件路径

转载 作者:太空宇宙 更新时间:2023-11-03 16:12:49 25 4
gpt4 key购买 nike

我正在尝试查找未托管在正常 Inetpub\wwwroot 中的 Web 服务的文件路径。我想找到 Web 服务的版本来检查以确保 2 台 PC 具有与我现在所做的相同的版本,只要我确定确切的文件路径或 Web 服务保持在正常位置即可。不幸的是,我有一些 PC 在多个位置都有 Web 服务,因此实际上不可能指定文件路径。我可以看到之前有人问过此类问题(Get .svc file info of IIS web service on remote computer),但我找不到这些问题的答案。

任何想法将不胜感激。

编辑:如果目标 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 之前不起作用。对这两者中的任何一个的任何帮助将不胜感激。

提前致谢。

最佳答案

看来我找到了存储此信息的位置。我必须使用 Windows 而不是 IIS 来给我答案,但我将模拟本地或域管理员在远程计算机上使用此应用程序,因此在这种情况下这对我来说不是问题。

ApplicationHost.Config 文件实际上包含我需要的格式信息:

<application path="/WebService_SomeWebService" applicationPool="DefaultAppPool">
<virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\WebService_SomeWebService" />
</application>
<application path="/WebService_SomeOtherWebService" applicationPool="DefaultAppPool">
<virtualDirectory path="/" physicalPath="C:\SomeotherFilepath\WebService_SomeOtherWebService" />
</application>

我需要做的就是从 %windir%\System32\inetsrv\config 中提取该文件并解析出我需要的信息。感谢所有提供帮助的人。

关于c# - 无法在 Remote PC C# 上的 inetpub\wwwroot 中查找 Web 服务的文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16845036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com