无需使用〜即可查找应用程序根URL

Mid*_*hat 7 asp.net

我需要在String中构造页面的URL,向其发送电子邮件(作为电子邮件验证系统的一部分).如果我使用〜符号表示应用程序根,则按字面意思理解.

该应用程序将部署在三个不同站点(不同端口)上的服务器上,每个站点可通过2个不同的URL(一个用于LAn,一个用于Internet)访问.

所以对URL进行硬编码是不可能的.我想在我的应用程序中构建verify.aspx的url

请帮忙

Mar*_*ram 13

你需要这个:

HttpContext.Current.Request.ApplicationPath
Run Code Online (Sandbox Code Playgroud)

它相当于URL中的"〜".

http://msdn.microsoft.com/en-us/library/system.web.httprequest.applicationpath.aspx

  • ApplicationPath不会生成可在电子邮件中使用的URL.对于电子邮件,您需要完整的URL,并附上"http://.../"等.ApplicationPath只会提供"/". (2认同)

Mid*_*hat 13

不幸的是,列出的方法都没有从http:// ---开始生成完整的URL .

所以我不得不从request.url中提取这些内容.像这样的东西

Uri url=HttpContext.Current.Request.Url;
StringBuilder urlString = new StringBuilder();
urlString.Append(url.Scheme);
urlString.Append("://");
urlString.Append(url.Authority);
urlString.Append("/MyDesiredPath");
Run Code Online (Sandbox Code Playgroud)

有人能发现任何潜在的问题吗?