如何在没有 HTTP 上下文的情况下将 MVC 操作渲染为字符串?

发布于 2024-12-29 23:28:28 字数 284 浏览 1 评论 0原文

我需要在没有 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

痴者 2025-01-05 23:28:28

我已经成功使用 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文