将MVC3 / 4/5添加到现有的Spring.net WebForms应用程序中

时间:2013-10-24 14:42:22

标签: c# asp.net-mvc webforms spring.net

所以我们有一个非常大的ASP.NET WebForms应用程序(最近更新到.NET 4.0),我想尝试将MVC放在它旁边。

我已经阅读了很多关于这两种类型的应用程序确实相互靠近的事实的文章。但是,当前站点大量使用Spring.NET。

理想情况下,我想要做的就是开始使用业务逻辑的现有配置向其添加MVC页面。

我尝试过使用MvcContextHandler,但是这会导致错误(The virtual path '/currentcontext.dummy' maps to another application, which is not allowed.),所以我认为这并不容易。

我想利用现有对象的原因是它们将包含有关用户的上下文信息,以及它们之前在流中选择的内容,因此利用已实例化的现有类将非常有用。

所以有人知道这是否可能,如果有的话,是否有任何资源可以展示如何做到这一点?

我目前认为链接IoC容器可能是一个选项,所以使用Ninject解析控制器,所以参数被映射以从Spring容器中获取依赖关系,但这似乎还有很长的路要走......

1 个答案:

答案 0 :(得分:1)

我们将中型LOB-app升级为MVC3 / Spring.Net,并保留了用Asp.Net WebForms(Telerik控件,报告服务)编写的分析部分,因此有可能。

Imho我没有使用Spring.Net带来的MVC3支持工具,而是编写了一个新的。当时MVC3是一个非常新的文档,最终帮助了:

http://bradwilson.typepad.com/blog/2010/10/service-location-pt5-idependencyresolver.html

根据Brad的说法,要为MVC实现依赖项解析器,您需要实现此接口:

public interface IDependencyResolver {
  object GetService(Type serviceType);
  IEnumerable<object> GetServices(Type serviceType);
}

http://msdn.microsoft.com/en-us/library/system.web.mvc.idependencyresolver.aspx