我正在做一个必须发送预定电子邮件的控制台应用程序。在其中一封电子邮件中,我必须放置页面的网址,如下所示:
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应用程序......但我不知道还能做什么。
答案 0 :(得分:0)
控制台应用程序不会在网站的上下文中运行,因此您将无法访问与该网站相关的任何内容。
您可以在app.config文件中提前配置。
<appSettings>
<add key="Url" value="http://www.yoursite.com/" />
</appSettings>
在代码中你可以这样做来获得这个值:
ConfigurationManager.AppSettings["Url"]