从控制台应用中的Asp.Net Web App获取完整的域Url

时间:2012-06-29 20:05:04

标签: asp.net-mvc-3 hyperlink asp.net-mvc-routing console-application html-email

我正在做一个必须发送预定电子邮件的控制台应用程序。在其中一封电子邮件中,我必须放置页面的网址,如下所示:

var message = string.Format("Go to our web site
<a href=\"" + "http://" + Request.Url.Authority + Url.Action("action", "Controller", new { requestID = request.ID }) + "\">Click Here</a>");

显然,Request.Url.Authority只能在我拥有的ASP.Net MVC3应用程序中运行。但我不确定是否有办法在控制台应用程序中获取完整的路由名称。也许如果我在控制台应用程序中引用Web应用程序......但我不知道还能做什么。

1 个答案:

答案 0 :(得分:0)

控制台应用程序不会在网站的上下文中运行,因此您将无法访问与该网站相关的任何内容。

您可以在app.config文件中提前配置。

<appSettings>
  <add key="Url" value="http://www.yoursite.com/" />
</appSettings>

在代码中你可以这样做来获得这个值:

ConfigurationManager.AppSettings["Url"]