如何在没有 HTTP 上下文的情况下将 MVC 操作渲染为字符串?
我需要在没有 HTTP 上下文的情况下渲染 MVC 操作(我正在使用quartz.net 调度库,我想在quartz 作业中将操作渲染为字符串)。
如何创建 HTTP 上下文、实例化 MyController 并执行 MyController.MyAction() 以便我将其作为字符串获取到quartz作业中?
编辑1: 问题并非微不足道。我查找了有关堆栈溢出的其他帖子,但所有这些似乎都涵盖了您在 Web 请求上下文中的情况。就我而言,HttpContext.Current 为空。
I need to render MVC action without HTTP context (I'm using quartz.net scheduling library, I'd like to render the action to string in quartz job).
How do I create an HTTP context, instantiate MyController and execute MyController.MyAction() so I get it in the quartz job as string?
Edit 1:
Problem is non trivial. I looked for other posts on stack overflow but all of them seem to cover the situation where you are wihtin a context of web request. In my case HttpContext.Current is null.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我已经成功使用 Razor Engine 一段时间了,但它有一些限制;你不能使用部分视图,它不是线程安全的,而且最糟糕的是,工作室不会将你的 .cshtml 文件识别为 razor 文件,因为你并不真正处于 ASP.net MVC 项目中,所以你没有智能感知。
因此我也在寻找更好的解决方案。你找到了吗?
理想情况下,我希望能够直接调用控制器操作并获取 html。
I've been using Razor Engine successfully for a while but it has some limitations; you can't use partial views, it's not thread-safe and most damning, studio doesn't recognize your .cshtml files as razor files since you're not really in an ASP.net MVC project so you get no intellisense.
I am therefore also looking for a better solution as well. Have you found any?
Ideally I'd want to be able to directly call a controller action and get the html.