在ASMX中获取当前域名

时间:2010-08-04 09:39:41

标签: c# web-services asmx

在asmx Web服务的C#中,如何获取调用Web服务的当前域? HttpContext.Current.Request.Url.Host返回我想要的东西,而不是http://mydomain.com/Folder/Mywebservice.asmx我只需要http://mydomain.com。 我知道我可以剪掉那根绳子,但看起来真的很优雅。 感谢

2 个答案:

答案 0 :(得分:7)

Uri.GetLeftPart在这里有所帮助:

Request.Url.GetLeftPart(UriPartial.Authority)

答案 1 :(得分:3)

在VB.Net中我使用过......

With HttpContext.Current.Request.Url
    sDomain=.Scheme & System.Uri.SchemeDelimiter & .Host
End With

或者如果你关心港口那么......

With HttpContext.Current.Request.Url
    sDomain=.Scheme & System.Uri.SchemeDelimiter & .Host & IIf(.IsDefaultPort,"",":") & .Port
End With

应该很容易转换为C#;)