C# 在.NET应用程序中获取IIS应用程序名称
我目前正在使用以下代码:C# 在.NET应用程序中获取IIS应用程序名称,c#,.net,iis,C#,.net,Iis,我目前正在使用以下代码: <center>Application Name: <%=HostingEnvironment.ApplicationID %></center> “AppName”是我想要的值,我想知道是否有另一个方法可以简单地返回它,而不必使用字符串魔术来删除路径的其余部分 谢谢 您可以使用此例程获取完全限定的应用程序路径,context.Request.ApplicationPath将包含应用程序名称 /// <summary&
<center>Application Name: <%=HostingEnvironment.ApplicationID %></center>
“AppName”是我想要的值,我想知道是否有另一个方法可以简单地返回它,而不必使用字符串魔术来删除路径的其余部分
谢谢 您可以使用此例程获取完全限定的应用程序路径,context.Request.ApplicationPath将包含应用程序名称
/// <summary>
/// Return full path of the IIS application
/// </summary>
public string FullyQualifiedApplicationPath
{
get
{
//Getting the current context of HTTP request
var context = HttpContext.Current;
//Checking the current context content
if (context == null) return null;
//Formatting the fully qualified website url/name
var appPath = string.Format("{0}://{1}{2}{3}",
context.Request.Url.Scheme,
context.Request.Url.Host,
context.Request.Url.Port == 80
? string.Empty
: ":" + context.Request.Url.Port,
context.Request.ApplicationPath);
if (!appPath.EndsWith("/"))
appPath += "/";
return appPath;
}
}
//
///返回IIS应用程序的完整路径
///
公共字符串FullyQualifiedApplicationPath
{
得到
{
//获取HTTP请求的当前上下文
var context=HttpContext.Current;
//检查当前上下文内容
if(context==null)返回null;
//格式化完全限定的网站url/名称
var appPath=string.Format(“{0}://{1}{2}{3}”,
context.Request.Url.Scheme,
context.Request.Url.Host,
context.Request.Url.Port==80
?字符串。空
:“:”+context.Request.Url.Port,
context.Request.ApplicationPath);
如果(!appPath.EndsWith(“/”)
appPath+=“/”;
返回appPath;
}
}
根据您的IIS应用程序/站点结构的不同,其中一个应用程序/站点应该可以完成这项工作
HostingEnvironment.ApplicationHost.GetSiteName()
HostingEnvironment.ApplicationVirtualPath
new ServerManager().Sites; //This is a List so you can iterate and match with a eliminating hint
再次重申,根据注释线程-
ApplicationHost。GetSiteName()
不打算在代码中使用(请参阅):
IAApplicationHost.GetSiteName方法()
此API支持产品基础架构,不打算
直接从代码中使用
改用
System.Web.Hosting.HostingEnvironment.SiteName;
ApplicationHost.GetSiteName()
不用于代码中(请参阅)。改为使用System.Web.Hosting.HostingEnvironment.SiteName代码>@EvilDr能否请您将此作为答复发送?我想投赞成票。
System.Web.Hosting.HostingEnvironment.SiteName;