无论站点是否在虚拟目录中,无论我的代码在目录结构中的哪个位置,我如何始终获得站点的绝对,完全限定的根或基本URL?我已经尝试了我能想到的每一个变量和功能,并没有找到一个好方法.
我希望能够获取当前站点的URL,即http://www.example.com,或者如果它是虚拟目录,请访问http://www.example.com/DNN/
这是我尝试过的一些事情和结果.唯一一个包含我想要的整块(http:// localhost:4471/DNN441)的是Request.URI.AbsoluteURI:
Eff*_*ave 12
通过阅读Rick Strahl博客中提供的答案,我发现我真正需要的是非常简单的.首先,您需要确定相对路径(对我来说这是容易的部分),并将其传递到下面定义的函数中:
VB.NET
Public Shared Function GetFullyQualifiedURL(ByVal s as string) As String
Dim Result as URI = New URI(HttpContext.Current.Request.Url, s)
Return Result.ToString
End Function
Run Code Online (Sandbox Code Playgroud)
C#
public static string GetFullyQualifiedURL(string s) {
Uri Result = new Uri(HttpContext.Current.Request.Url, s);
return Result.ToString();
}
Run Code Online (Sandbox Code Playgroud)
接受的答案假定当前请求已经在服务器/虚拟根目录.试试这个:
Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7594 次 |
| 最近记录: |