700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > ASP.NET MVC 1.0 + spring.net 1.2.0.20288 + NHibernate 2.0.1.4000整合笔记(四)——整合asp.net mvc...

ASP.NET MVC 1.0 + spring.net 1.2.0.20288 + NHibernate 2.0.1.4000整合笔记(四)——整合asp.net mvc...

时间:2019-02-28 11:51:44

相关推荐

ASP.NET MVC 1.0 + spring.net 1.2.0.20288 + NHibernate 2.0.1.4000整合笔记(四)——整合asp.net mvc...

1、新增加一个类库,命名为mon

引用:

Spring.Core

System.Web.MVC

System.Web.Abstractions

System.Web.Routing;

在里面创建一个类:

SpringControllerFactory:

Code

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

usingSpring.Core.IO;

usingSpring.Objects.Factory;

usingSpring.Objects.Factory.Xml;

usingSystem.Web.Mvc;

usingSystem.Web.Routing;

usingSystem.IO;

usingSpring.Context;

usingSpring.Context.Support;

mon

{

///<summary>

///控制器工厂

///</summary>

publicclassSpringControllerFactory:IControllerFactory

{

//privatestaticlog4net.ILoglog=log4net.LogManager.GetLogger(typeof(SpringControllerFactory));

///<summary>

///DefaultControllerFactory

///</summary>

privatestaticDefaultControllerFactorydefalutf=null;

publicIControllerCreateController(System.Web.Routing.RequestContextrequestContext,stringcontrollerName)

{

//getspringcontext

IApplicationContextctx=ContextRegistry.GetContext();

if(ctx.ContainsObject(controllerName))

{

objectcontrollerf=ctx.GetObject(controllerName);

return(IController)controllerf;

}

else

{

if(defalutf==null)

{

defalutf=newDefaultControllerFactory();

}

returndefalutf.CreateController(requestContext,controllerName);

}

}

publicvoidReleaseController(IControllercontroller)

{

//getspringcontext

IApplicationContextctx=ContextRegistry.GetContext();

if(!ctx.ContainsObject(controller.GetType().Name.Replace("Controller","")))

{

if(defalutf==null)

{

defalutf=newDefaultControllerFactory();

}

defalutf.ReleaseController(controller);

}

}

}

}

1、新增加一个类库,命名为CMS.Controllers 用来存放MVC的控制器

引用:

System.Web.MVC

System.Web.Abstractions

新增加一个控制器

HomeController:

Code

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Web.Mvc;

namespaceCMS.Controllers

{

publicclassHomeController:System.Web.Mvc.Controller

{

publicActionResultIndex()

{

ViewData["Title"]="用户中心--";

returnView();

}

}

}

在CMS.MVCWeb网站中加入对mon和CMS.Controllers的引用

配置Global.asax

原本代码:

protectedvoidApplication_Start()

{

RegisterRoutes(RouteTable.Routes);

}

新增代码:

Code

protectedvoidApplication_Start()

{

ControllerBuilder.Current.SetControllerFactory(

typeof(mon.SpringControllerFactory));

RegisterRoutes(RouteTable.Routes);

}

删除CMS.MvcWeb网站下的Controllers文件夹。

配置完成! 源码下载

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。