如何手动更改HttpRequest.ApplicationPath属性?

时间:2013-07-05 18:53:51

标签: asp.net asp.net-mvc quartz.net

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

为了生成这个链接,我知道一些硬编码是不可避免的(由于没有创建实际的会话),但我想尽可能少使用硬编码,这样它至少有一些余地我的团队最终希望重新组织应用程序架构。值得庆幸的是,我能够找到一种方法来手动创建一个用于Quartz作业的UrlHelper对象(参见Call UrlHelper in models in ASP.NET MVC)。

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

你们知道我能做到这一点吗?我尝试在Google上搜索如何设置/更改HttpRequest.ApplicationPath属性,或者该属性的数据来​​自哪里,但没有任何相关内容。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

@AntLac:谢谢你的帮助。你的答案也会奏效。