5
我有一個mvc 3應用程序,後臺線程檢查某些數據庫項目的狀態。當它發現一個過期的項目時,它會發送一封電子郵件。在電子郵件中,我希望包含用於查看狀態的操作的URL。如果這是從控制器做我會用UrlHelper,如:在ASP.NET MVC中生成一個與控制器無關的URL 3
string body_url = "For more details see: " + Url.Action("Details", "MyOrder", new { OrderId = order.OrderId }, Constants.HttpProtocol);
不過,我不是一個控制器,也不是我的方法從控制器調用時,它開始在應用程序啓動。有沒有辦法生成一個有效的UrlHelper,或者,如果沒有,生成一個有效的URL,而不訴諸硬編碼路徑,獨立於控制器?
這似乎是一個恥辱,有硬編碼的基本URL,尤其是考慮到它可以根據我是否正在運行測試或生產而改變。我本來希望有某種方法可以從應用中獲取基本網址。 – 2013-02-13 21:35:23
當你旋轉它時,你可以將HttpContext.Current信息傳遞到你的後臺線程中。確保只使用它的基本URL部分! http://stackoverflow.com/questions/3398717/asp-net-get-websites-url-without-httpcontext-current-running-in-background-t – felickz 2013-02-13 22:07:11
'HttpContext.Current'在應用程序啓動時不可用,它是@SimonParker希望能夠生成路由URL的時候。 – 2015-07-28 23:46:12