zoukankan      html  css  js  c++  java
  • Spring.Net2.0+NHibernate4.0 +Asp.Net Mvc4 二

    6.SN.Controllers

    文件夹Config(Controllers.xml)

    文件夹Controllers(TestController.cs)

    Controllers.xml

    1 <?xml version="1.0" encoding="utf-8" ?>
    2 <objects xmlns="http://www.springframework.net">
    3     <object type="SN.Controllers.TestController,SN.Controllers" singleton="false">
    4         <property name="UserService" ref="UserServiceImpl"></property>
    5     </object>
    6 </objects>

    TestController.cs

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Web .Mvc ;
     6 using System.Web.Mvc.Ajax;
     7 using SN.Servers;
     8 
     9 namespace SN.Controllers
    10 {
    11   public  class TestController:BaseController 
    12     {
    13       private IUserService UserService { get; set; }
    14       public ActionResult Index()
    15       {
    16           ViewBag.Text = "测试Mvc程序";
    17           ViewBag.Users = UserService.GetAllUsers();
    18           return View();
    19       }
    20     }
    21 }

    7.SN.Web 这个主意介绍View  web.config

    文件夹View(Test(Index.cshtml))

    Test=>Index.cshtml

     1 @{
     2     ViewBag.Title = "Index";
     3 }
     4 
     5 <h2>Index</h2>
     6 
     7 <h3>@ViewBag.Text</h3>
     8 @foreach (var item in ViewBag.Users)
     9   {
    10       <text>@item.Name +@item.Id</text>
    11   }

    Web.config

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <!--
     3   For more information on how to configure your ASP.NET application, please visit
     4   http://go.microsoft.com/fwlink/?LinkId=169433
     5   -->
     6 <configuration>
     7   <configSections>
     8     <sectionGroup name="spring">
     9       <section name="context" type="Spring.Context.Support.MvcContextHandler, Spring.Web.Mvc4" />
    10       <!--<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/>
    11       -->
    12       <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
    13     </sectionGroup>
    14     <section name="databaseSettings" type="System.Configuration.NameValueSectionHandler" />
    15   </configSections>
    16   <!--spring-->
    17   <spring>
    18     <!--<parsers> 
    19       <parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data"/>  
    20       <parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data"/>  
    21     </parsers>-->
    22     <context>
    23       <resource uri="assembly://SN.Dao/SN.Dao.Config/SpringNHibernate.xml" />
    24       <resource uri="assembly://SN.Dao/SN.Dao.Config/Objects.xml" />
    25       <resource uri="assembly://SN.Servers/SN.Servers.Config/Servers.xml" />
    26       <resource uri="assembly://SN.Controllers/SN.Controllers.Config/Controllers.xml" />
    27       <!--<resource uri="file://~/Config/SpringNHibernate.xml"/>-->
    28     </context>
    29   </spring>
    30   <!--数据库配置-->
    31   <databaseSettings>
    32     <add key="db.server" value="127.0.0.1" />
    33     <add key="db.database" value="MyTest" />
    34     <add key="db.user" value="sa" />
    35     <add key="db.password" value="sql" />
    36   </databaseSettings>
    37 
    38   <appSettings>
    39     <add key="webpages:Version" value="2.0.0.0" />
    40     <add key="webpages:Enabled" value="false" />
    41     <add key="PreserveLoginUrl" value="true" />
    42     <add key="ClientValidationEnabled" value="true" />
    43     <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    44     <!---配置Spring.Net NHibernate SessionFactory 对象-->
    45     <add key="Spring.Data.NHibernate.Support.OpenSessionInViewModule.SessionFactoryObjectName" value="NHibernateSessionFactory" />
    46   </appSettings>
    47   <system.web>
    48     <httpModules>
    49       <!---spring net  nhibernate sesion 自动加载必须设置次节点(本地测试需要配置否则有错误)-->
    50       <add name="OpenSessionInView" type="Spring.Data.NHibernate.Support.OpenSessionInViewModule, Spring.Data.NHibernate4" />
    51     </httpModules>
    52     <httpRuntime />
    53     <compilation debug="true" targetFramework="4.0" />
    54     <pages controlRenderingCompatibilityVersion="4.0">
    55       <namespaces>
    56         <add namespace="System.Web.Helpers" />
    57         <add namespace="System.Web.Mvc" />
    58         <add namespace="System.Web.Mvc.Ajax" />
    59         <add namespace="System.Web.Mvc.Html" />
    60         <add namespace="System.Web.Routing" />
    61         <add namespace="System.Web.WebPages" />
    62       </namespaces>
    63     </pages>
    64   </system.web>
    65   <system.webServer>
    66     <validation validateIntegratedModeConfiguration="false" />
    67     <modules runAllManagedModulesForAllRequests="true">
    68       <!---spring net  nhibernate sesion 自动加载必须设置次节点(ISS服务器必须配置)-->
    69       <add name="OpenSessionInView" type="Spring.Data.NHibernate.Support.OpenSessionInViewModule, Spring.Data.NHibernate4" />
    70     </modules>
    71     <handlers>
    72       <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
    73       <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
    74       <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
    75       <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%Microsoft.NETFrameworkv4.0.30319aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
    76       <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%Microsoft.NETFramework64v4.0.30319aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
    77       <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" />
    78     </handlers>
    79   </system.webServer>
    80   <runtime>
    81     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    82       <dependentAssembly>
    83         <assemblyIdentity name="Spring.Core" publicKeyToken="65e474d141e25e07" culture="neutral" />
    84         <bindingRedirect oldVersion="0.0.0.0-2.0.1.40000" newVersion="2.0.1.40000" />
    85       </dependentAssembly>
    86       <dependentAssembly>
    87         <assemblyIdentity name="Common.Logging" publicKeyToken="af08829b84f0328e" culture="neutral" />
    88         <bindingRedirect oldVersion="0.0.0.0-2.1.1.0" newVersion="2.1.1.0" />
    89       </dependentAssembly>
    90       <dependentAssembly>
    91         <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    92         <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
    93       </dependentAssembly>
    94     </assemblyBinding>
    95   </runtime>
    96 </configuration>

    8.修改Global.asax

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 using System.Web.Http;
     6 using System.Web.Mvc;
     7 using System.Web.Routing;
     8 
     9 namespace SN.Web
    10 {
    11     // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
    12     // visit http://go.microsoft.com/?LinkId=9394801
    13     public class MvcApplication : Spring.Web.Mvc.SpringMvcApplication
    14     {
    15         protected void Application_Start()
    16         {
    17             AreaRegistration.RegisterAllAreas();
    18 
    19             WebApiConfig.Register(GlobalConfiguration.Configuration);
    20             FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    21             RouteConfig.RegisterRoutes(RouteTable.Routes);
    22         }
    23     }
    24 }

    9.问题解决方案: 

     1.设置cofing 中xml文件设置(A.始终复制 B.设置嵌入式)

     2.引用Spring.Data.Nhibernate 和Spring相关组件版本要保持一致

     3.注入问题仔细查看Spring注入机制

     4.spring net  nhibernate sesion 自动加载

  • 相关阅读:
    Get-CrmSetting返回Unable to connect to the remote server的解决办法
    Dynamics 365中的常用Associate和Disassociate消息汇总
    Dynamics 365 Customer Engagement V9 活动源功能报错的解决方法
    Dynamics Customer Engagement V9版本配置面向Internet的部署时候下一步按钮不可点击的解决办法
    Dynamics 365检查工作流、SDK插件步骤是否选中运行成功后自动删除系统作业记录
    注意,更改团队所属业务部门用Update消息无效!
    Dynamics 365的审核日志分区删除超时报错怎么办?
    Dynamics 365使用Execute Multiple Request删除系统作业实体记录
    Dynamics 365的系统作业实体记录增长太快怎么回事?
    Dynamics CRM日期字段查询使用时分秒的方法
  • 原文地址:https://www.cnblogs.com/linsu/p/4487607.html
Copyright © 2011-2022 走看看