我想閱讀來自iis的web服務信息,特別是地址。 對於IIS7,我可以使用此代碼閱讀以下信息。是否有可能從IIS獲取asp.net網絡地址
var iisManager = new ServerManager();
sites = iisManager.Sites;
foreach (var site in sites)
{
IISService serv = new IISService();
serv.Name = site.Name;
serv.State= site.State.ToString();
serv.PhysicalPath= site.Applications["/"].VirtualDirectories[0].PhysicalPath;
allServices.Add(serv);
}
對於II6
DirectoryEntry IIsEntities = new DirectoryEntry(Path);
foreach (DirectoryEntry IIsEntity in IIsEntities.Children)
{
if (IIsEntity.SchemaClassName == "IIsWebServer")
{
yield return new Website
(
IIsEntity.Properties["ServerComment"].Value.ToString(),
GetPath(IIsEntity),
(ServerState)IIsEntity.Properties["ServerState"].Value
);
}
}
我可以讀取上面的信息,但我想讀ASMX Web服務的端點信息。 那就像: http://localhost:8091/Service1.asmx
是否有可能讀取端口號或asmx文件的名稱?
不,這是不可能的,因爲它們可以是路徑之外的任何地方。你必須找到配置文件。 – VMAtm 2015-02-11 08:41:28
當我詢問PhysicalPath中的Directory.GetFiles * .asmx時,可以找到Service1.asmx文件。其實端口號對我來說是足夠的信息。 – 2015-02-11 08:45:13
端口是一個管理選項,不對應磁盤上的文件。 – VMAtm 2015-02-11 11:15:51