Spring.Net2.0+NHibernate4.0 +Asp.Net Mvc4 二
6.SN.Controllers
文件夹Config(Controllers.xml)
文件夹Controllers(TestController.cs)
Controllers.xml
- <?xml version="1.0" encoding="utf-8" ?>
- <objects xmlns="http://www.springframework.net">
- <object type="SN.Controllers.TestController,SN.Controllers" singleton="false">
- <property name="UserService" ref="UserServiceImpl"></property>
- </object>
- </objects>
TestController.cs
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Web .Mvc ;
- using System.Web.Mvc.Ajax;
- using SN.Servers;
- namespace SN.Controllers
- {
- public class TestController:BaseController
- {
- private IUserService UserService { get; set; }
- public ActionResult Index()
- {
- ViewBag.Text = "测试Mvc程序";
- ViewBag.Users = UserService.GetAllUsers();
- return View();
- }
- }
- }
7.SN.Web 这个主意介绍View web.config
文件夹View(Test(Index.cshtml))
Test=>Index.cshtml
- @{
- ViewBag.Title = "Index";
- }
- <h2>Index</h2>
- <h3>@ViewBag.Text</h3>
- @foreach (var item in ViewBag.Users)
- {
- <text>@item.Name +@item.Id</text>
- }
Web.config
- <?xml version="1.0" encoding="utf-8"?>
- <!--
- For more information on how to configure your ASP.NET application, please visit
- http://go.microsoft.com/fwlink/?LinkId=169433
- -->
- <configuration>
- <configSections>
- <sectionGroup name="spring">
- <section name="context" type="Spring.Context.Support.MvcContextHandler, Spring.Web.Mvc4" />
- <!--<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/>
- -->
- <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
- </sectionGroup>
- <section name="databaseSettings" type="System.Configuration.NameValueSectionHandler" />
- </configSections>
- <!--spring-->
- <spring>
- <!--<parsers>
- <parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data"/>
- <parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data"/>
- </parsers>-->
- <context>
- <resource uri="assembly://SN.Dao/SN.Dao.Config/SpringNHibernate.xml" />
- <resource uri="assembly://SN.Dao/SN.Dao.Config/Objects.xml" />
- <resource uri="assembly://SN.Servers/SN.Servers.Config/Servers.xml" />
- <resource uri="assembly://SN.Controllers/SN.Controllers.Config/Controllers.xml" />
- <!--<resource uri="file://~/Config/SpringNHibernate.xml"/>-->
- </context>
- </spring>
- <!--数据库配置-->
- <databaseSettings>
- <add key="db.server" value="127.0.0.1" />
- <add key="db.database" value="MyTest" />
- <add key="db.user" value="sa" />
- <add key="db.password" value="sql" />
- </databaseSettings>
- <appSettings>
- <add key="webpages:Version" value="2.0.0.0" />
- <add key="webpages:Enabled" value="false" />
- <add key="PreserveLoginUrl" value="true" />
- <add key="ClientValidationEnabled" value="true" />
- <add key="UnobtrusiveJavaScriptEnabled" value="true" />
- <!---配置Spring.Net NHibernate SessionFactory 对象-->
- <add key="Spring.Data.NHibernate.Support.OpenSessionInViewModule.SessionFactoryObjectName" value="NHibernateSessionFactory" />
- </appSettings>
- <system.web>
- <httpModules>
- <!---spring net nhibernate sesion 自动加载必须设置次节点(本地测试需要配置否则有错误)-->
- <add name="OpenSessionInView" type="Spring.Data.NHibernate.Support.OpenSessionInViewModule, Spring.Data.NHibernate4" />
- </httpModules>
- <httpRuntime />
- <compilation debug="true" targetFramework="4.0" />
- <pages controlRenderingCompatibilityVersion="4.0">
- <namespaces>
- <add namespace="System.Web.Helpers" />
- <add namespace="System.Web.Mvc" />
- <add namespace="System.Web.Mvc.Ajax" />
- <add namespace="System.Web.Mvc.Html" />
- <add namespace="System.Web.Routing" />
- <add namespace="System.Web.WebPages" />
- </namespaces>
- </pages>
- </system.web>
- <system.webServer>
- <validation validateIntegratedModeConfiguration="false" />
- <modules runAllManagedModulesForAllRequests="true">
- <!---spring net nhibernate sesion 自动加载必须设置次节点(ISS服务器必须配置)-->
- <add name="OpenSessionInView" type="Spring.Data.NHibernate.Support.OpenSessionInViewModule, Spring.Data.NHibernate4" />
- </modules>
- <handlers>
- <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
- <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
- <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
- <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="" />
- <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="" />
- <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
- </handlers>
- </system.webServer>
- <runtime>
- <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
- <dependentAssembly>
- <assemblyIdentity name="Spring.Core" publicKeyToken="65e474d141e25e07" culture="neutral" />
- <bindingRedirect oldVersion="0.0.0.0-2.0.1.40000" newVersion="2.0.1.40000" />
- </dependentAssembly>
- <dependentAssembly>
- <assemblyIdentity name="Common.Logging" publicKeyToken="af08829b84f0328e" culture="neutral" />
- <bindingRedirect oldVersion="0.0.0.0-2.1.1.0" newVersion="2.1.1.0" />
- </dependentAssembly>
- <dependentAssembly>
- <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
- <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
- </dependentAssembly>
- </assemblyBinding>
- </runtime>
- </configuration>
8.修改Global.asax
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.Http;
- using System.Web.Mvc;
- using System.Web.Routing;
- namespace SN.Web
- {
- // Note: For instructions on enabling IIS6 or IIS7 classic mode,
- // visit http://go.microsoft.com/?LinkId=9394801
- public class MvcApplication : Spring.Web.Mvc.SpringMvcApplication
- {
- protected void Application_Start()
- {
- AreaRegistration.RegisterAllAreas();
- WebApiConfig.Register(GlobalConfiguration.Configuration);
- FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
- RouteConfig.RegisterRoutes(RouteTable.Routes);
- }
- }
- }
9.问题解决方案:
1.设置cofing 中xml文件设置(A.始终复制 B.设置嵌入式)
2.引用Spring.Data.Nhibernate 和Spring相关组件版本要保持一致
3.注入问题仔细查看Spring注入机制
4.spring net nhibernate sesion 自动加载
Spring.Net2.0+NHibernate4.0 +Asp.Net Mvc4 二的更多相关文章
- Spring.Net2.0+NHibernate4.0 +Asp.Net Mvc4 一
1.创建项目结构 控制器: SN.Controllers 数据访问 :SN.Dao 实体映射: SN.Models 服务层: SN.Servers 视图层: SN.Web 2.添加需 ...
- 使用bootstrap+asp.net mvc4+IBatis.Net实现的小程序
这个项目用到了三个技术点 1.bootstap 3.0 2.asp.net mvc4 3.IBatis.Net 这个三个技术点分别解决前端界面展示.中间mvc路由控制.实体框架映射数据访问 重点分页问 ...
- SNF快速开发平台3.0之BS页面展示和九大优点-部分页面显示效果-Asp.net+MVC4.0+WebAPI+EasyUI+Knockout
一)经过多年的实践不断优化.精心维护.运行稳定.功能完善: 能经得起不同实施策略下客户的折腾,能满足各种情况下客户的复杂需求. 二)编码实现简单易懂.符合设计模式等理念: 上手快,见效快.方便维护,能 ...
- SNF快速开发平台3.0之-界面个性化配置+10种皮肤+7种菜单-Asp.net+MVC4.0+WebAPI+EasyUI+Knockout
一.个性配置-首页:可以进行拖动保存配置,下次登录时就会按配置的进行加载 二.个人配置页面 7种菜单用户可自定义配置,和预览效果 10种皮肤自定义配置,和预览效果 皮肤和菜单可以随意组合-部分截图: ...
- 建筑材料系统 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发
框架介绍: 1.基于 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发 2.采用MVC的框架模式,具有耦合性低.重用性高.生命周期成本低.可维护性 ...
- 利用CSS预处理技术实现项目换肤功能(less css + asp.net mvc4.0 bundle)
一.背景 在越来越重视用户体验的今天,换肤功能也慢慢被重视起来.一个web系统用户可以选择一个自己喜欢的系统主题,在用户眼里还是会多少加点分的.我们很开心的是easyui v1.3.4有自带defau ...
- Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据
Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据 在这一节中,你将新创建一个新的 MoviesController类,并编写代码,实现获取影片数据和使用视图模板在浏览器中展现 ...
- Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型
Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型 在这一节中,你将添加用于管理数据库中电影的类.这些类是ASP.NET MVC应用程序的模型部分. 你将使用.NET Framewo ...
- Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图
Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图 在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML ...
随机推荐
- C#查找List 某一段数据
public void SelectData() { List<int> r = new List<int>(); r.Add(); r.Add(); r.Add(); r.A ...
- php socket模拟http中post或get提交数据
php socket模拟http中post或者get提交数据的示例代码. 代码: sock_post.php: <?php /** * php socket模拟post\get请求 * 编辑:脚 ...
- godaddy账号以及域名被盗找回经历以及网络信息安全的思考
本案涉及到公司的一些机密信息,因此涉及到机密信息,我都将会用一些其他的代号进行替代.不影响读者理解本案.我会按照时间顺序讲述本案经过,是如何一步步找回godaddy账号的. 我供职的公司是一家网络科技 ...
- 【笔记篇】C#笔记2
返回目录:目录请戳这里~ C#数组 基本概念不提.. int[] a; bool[] b = new bool[10]; float[] c = {0.5, 57.0, 233.3, 12345.67 ...
- Android开发 内存泄露检测框架LeakCanary
前言 挖坑后续填坑 中文网站:https://www.liaohuqiu.net/cn/posts/leak-canary-read-me/ gitbub:https://github.com/squ ...
- bootStrap-treeview插件
简要教程 bootstrap-treeview是一款效果非常酷的基于bootstrap的jQuery多级列表树插件.该jQuery插件基于Twitter Bootstrap,以简单和优雅的方式来显示一 ...
- Docker这个新软件究竟是用来干嘛的???
http://dockone.io/article/378 尝试新软件 对开发者而言,每天会催生出的各式各样的新技术都需要尝试,然而开发者却不太可能为他们一一搭建好环境并进行测试.时间非常宝贵,正是得 ...
- iOS开发CoreData的多表关联
1.多表关联 多表关联,对SQL 数据库的操作,在一张表的数据中可以引用另外一张表里的数据.通过 Entity 实体中的 Relationships 来实现,比起传统的 SQL 数据库来,更加简单. ...
- Asp.net Core Jenkins Docker 实现一键化部署
写在前面 在前段时间尝试过用Jenkins来进行asp.net core 程序在IIS上面的自动部署.大概的流程是Jenkins从git上获取代码 最开始Jenkins是放在Ubuntu的Docker ...
- 操作系统 Lab1(2)
中断很久,一看发现又多了一些内容. 打算完成了 Lab1 challenge 1 中断像量表设置的时候我们需要设置一个用于系统调用的 trap门 也就是 利用中断切换特权级 To kernel 调用 ...