2013-06-27 51 views
0

我目前正在开发一个MVC项目。它依赖于需要运行的服务,并按设定的时间间隔执行任务。这个WCF服务项目是一个单独的项目,我已经将它集成到我的MVC项目中。从WCF服务方法调用mvc控制器中的操作方法

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

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

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

如果不是,我该怎么做才能解决我的问题。

回答

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网站,根本不应该很复杂