这是一项非常奇怪的任务,但我无法更改要求。我们必须编写一个 WCF 服务(SOAP,而不是 REST)并返回一个 HTML 作为响应对象的属性。
我不想使用:
- 硬编码字符串并使用 string.Format() 填充一些值;
- t4 模板,因为将来没有多少人可以支持这种方法;
- WebForm 控件,因为我们的大多数开发人员都习惯于使用 MVC 项目。
我已经知道如何将一些 ActionResult 呈现为字符串。所以,理想情况下,我希望能够创建一个控制器,调用一些动作并获得一个 ActionResult。
为此,我创建了 MVC 应用程序并向其中添加了 service.svc 文件。服务工作正常——我可以调用它的方法并接收结果。但是当我尝试渲染 Razor View 时,我的问题就开始了。如果我只是创建任何控制器的实例然后调用一个动作,控制器的属性 ControllerContext 为空,因此无法呈现视图。我尝试即时制作 ControllerContext,但似乎我遗漏了一些东西。
我在这里发现了非常相似的问题,但是那里提供的解决方案对我不起作用,因为 HttpContext.Current 在 wcf 方法中为 null。
有没有人知道如何实现这一目标?或者也许有人可以建议其他简单灵活的方法在 WCF 方法中呈现 HTML?