0

我有一个问题,我正在创建一个 Quartz.NET 作业(使用嵌入在我的团队正在开发的 Web 应用程序中的 Quartz.NET 的副本,如果重要的话),它会向某些人发送包含超链接的电子邮件作为同一应用程序一部分的控制器/操作方法。

为了生成这个链接,我知道一些硬编码是不可避免的(因为没有创建一个实际的会话),但我想尽可能少地使用硬编码,这样它至少有一些改变的余地事件我的团队最终想要重组应用程序架构。幸运的是,我能够找到一种方法来手动创建一个 UrlHelper 对象以供 Quartz 作业使用(请参阅Call UrlHelper in models in ASP.NET MVC)。

我的问题是我需要一些方法来手动设置存储在 HttpRequest 对象中的应用程序虚拟路径。这是因为网络应用程序不在我们正在使用的网站的根目录下。

你们知道我有什么办法可以做到这一点吗?我已经尝试在 Google 上搜索如何设置/更改 HttpRequest.ApplicationPath 属性,或者该属性的数据来​​自何处,但没有任何相关信息出现。

4

2 回答 2

0

如文档http://msdn.microsoft.com/en-us/library/system.web.httprequest.applicationpath.aspx所示,这是一个只读属性。但是,您可以对新根执行 String.Replace() 的实际根。

于 2013-07-05T22:56:42.523 回答
0

事实证明,HttpRequest.ApplicationPath 属性是空的(我猜是手动创建 HttpRequest 对象的结果),所以我最终做的是在 Config 对象的静态字段中硬编码应用程序路径并使用它反而。

@AntLac:感谢您的帮助。你的回答也会奏效。

于 2013-07-12T16:02:33.643 回答