是否可以通过使用获取IIS 7的基本URL Microsoft.Web.Administration.ServerManager?
通常这将是:
http://localhost
Run Code Online (Sandbox Code Playgroud)
但我需要以编程方式获得它.
如果我不能使用ServerManager什么是最好的选择?
Mun*_*ini 14
对于那些对Microsoft.Web.Administration.ServerManager的使用感兴趣的人,这里有一些代码.考虑到IIS应用程序我有多个绑定,导致每个Web应用程序有多个URL.
var siteName = "Default Web Site";
var appPath = "MyWebApplication";
var serverManager = new ServerManager();
var site = serverManager.Sites[siteName];
appPath = appPath.StartsWith("/") ? appPath : "/" + appPath;
var app = site.Applications[appPath];
var urls = new List<string>();
foreach (var binding in site.Bindings)
{
var sb = new StringBuilder();
sb.Append(binding.Protocol);
sb.Append("://");
if (!string.IsNullOrWhiteSpace(binding.Host))
{
sb.Append(binding.Host);
}
else
{
if (Equals(binding.EndPoint.Address, IPAddress.Any))
{
sb.Append("localhost");
}
else
{
sb.Append(binding.EndPoint.Address);
}
}
if (binding.EndPoint.Port != 80)
{
sb.Append(":");
sb.Append(binding.EndPoint.Port);
}
sb.Append(app.Path);
urls.Add(sb.ToString());
}
Run Code Online (Sandbox Code Playgroud)
小智 13
你可以用string baseURL = HttpContext.Current.Request.Url.Host.
| 归档时间: |
|
| 查看次数: |
20611 次 |
| 最近记录: |