好的,我们大多数人在将 Asp.NET Web 应用程序发布到生产服务器之前,在我们的本地主机中开发和测试它们。但对我来说, localhost 有时会很痛苦,因为我无法正确获取绝对路径。因为假设我的应用程序位于http://localhost/MyApp/
我无法正确获取主机。我可以用几个代码来获得它,但我喜欢让它更通用,所以每当其他开发人员将相同的应用程序放在另一个位置(例如)时http://localhost/TheirApp
,它应该可以正常工作。
示例问题:
每当我像这样使用绝对路径/aboutus.aspx
时,它都会导致这个http://localhost/aboutus.aspx
并省略MyApp
。如果我使用相对路径,那么它变得http://localhost/MyApp/IamHere.aspx/aboutus.aspx
相当令人不安。
因此,如果Request.Url.Authority
或Request.Url.Host
将返回http://localhost/MyApp
,那么我们可以使用这些附加我们的 url 并找到一个不错的解决方案。
另一种解决方案:
我可以这样做:
if(Request.Url.Host.StartsWith("localhost"))
{
string[] segments = Request.Url.AbsolutePath.Split("/");
var localHost = Request.Url.Authority + "/" + segments[0];
}
然后我可以使用localHost
变量并将我的路径附加到它。
但我想了解你们是如何处理这样的问题的?
谢谢,