2012-08-09 48 views
2

在我的开发服务器HttpContext.Current.Request.ApplicationPath上正确返回路径,但在生产时返回空。HttpContext.Current.Request.ApplicationPath在生产时为空

这是为什么?

我使用它来构建URL的,现在在生产环节不工作,因为它看起来像:

http://section/page1.aspx 

,但它应该是:

https://www.example.sub.com/section/page1.aspx 

什么引起这个?

+3

我不认为它应该返回主机名。 [根据MSDN](http://msdn.microsoft.com/en-us/library/system.web.httprequest.applicationpath.aspx),ApplicationPath返回应用程序的虚拟路径。其中不包括主机。 – Vlad 2012-08-09 18:49:52

+0

@你是对的,奇怪它是如何在我的开发服务器上工作的(它似乎没有使用虚拟路径)。 – loyalflow 2012-08-09 18:55:14

回答

3

ApplicationPath属性返回应用程序所在文件夹的路径,但不包含域名。

我想你已经把应用程序放在一个与你的开发服务器中的域名同名的文件夹中。该属性然后返回文件夹的名称,而不是实际的域名。

0

请试试这个

public static string RootURL { 
get { 
    var _with1 = System.Web.HttpContext.Current.Request; 
    return _with1.Url.Scheme + "://" + _with1.Url.Host + _with1.ApplicationPath; 
} 

}

使用此功能时,你需要根URL与应用程序的路径
请尝试,让我知道,如果你有问题.......