0

我目前正在开发一个 MVC 项目。它依赖于需要在设定的时间间隔内运行和执行任务的服务。这个 WCF 服务项目是一个单独的项目,我已将它集成到我的 MVC 项目中。

到目前为止,一切对我来说都很好,但是问题出现在 WCF 服务应用程序中,现在我需要调用我的 MVC 项目控制器类的操作方法。我尝试的一种方法是添加对我的 MVC 项目的引用,然后尝试访问操作方法,但它给了我如下错误:

'System.Web.Mvc.Controller' 类型在未引用的程序集中定义。您必须添加对程序集“System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”的引用。

我想知道我的方法是否正确,如果是,如何摆脱这个错误。

如果没有,我应该怎么做才能解决我的问题。

4

1 回答 1

1

您必须将它们视为单独的网站,wcf 服务不仅会实例化一个控制器并运行它,它还会创建一个 webrequest 并对其进行获取或发布。

您可以利用 System.Net.WebClient 类来做到这一点。

您需要做的就是决定是否要从 mvc 站点发布或获取一些数据,然后使用 webclient 类上的方法之一来完成它。

http://msdn.microsoft.com/en-us/library/system.net.webclient(v=vs.100).aspx

这将详细介绍 webclient 类以及如何使用它。您可能需要 wcf 服务上的 appsetting 条目来指向您要调用的 mvc 站点,一点也不复杂

于 2013-06-27T08:55:11.100 回答