NHibernate 支持spring 分布式事务务吗

您的位置:
&NHibernate应用开发视频教程
NHibernate应用开发视频教程
&世纪大道1500号
&日(距今837天)
NHibernate应用开发(NHibernate、MVC4实战档案管理系统+MVC4房屋租赁平台系统)
适合人群:初级
课时数量:64课时
用到技术:NHibernate、ASP NET MVC4.0
涉及项目:档案管理系统、房屋租赁平台系统
NHibernate:
NHibernate是一个面向 NET环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。
在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦和浪费时间的.NHibernate &NHibernate不仅仅管理 NET类到数据库表的映射(包括 NET 数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和ADO NET处理数据的时间。NHibernate的目标主要是用于与数据持久化相关的编程任务,能够使开发人员从原来枯燥的SQL语句的编写中解放出来,解放出来的精力可以让开发人员投入到业务逻辑的实现上。对于以数据为中心的程序,开发人员往往是在数据库中使用存储过程来实现商业逻辑,这种情况下NHibernate可能不是的解决方案,但对于那些基于 NET,并且能够实现OO业务模型和商业逻辑的中间层应用,NHibernate是最有用的。NHibernate可以帮助用户消除或者包装那些针对特定厂商的SQL代码,并且帮用户把结果集从表格式的表示形式转换成一系列的对象。
NHibernate视频教程:NHibernate应用开发共64讲,包括两个项目实战,具体课程大纲如下:
第一章:NHibernate入门
第一讲:NHibernate架构剖析
第二讲:搭建第一个NHibernate应用程序
第三讲:nhibernate.cfg.xml的配置及注意事项
第二章:NHibernate中的关系映射
第一讲:NHibernate中单向一对多映射
第二讲:NHibernate中双向一对多映射及其他
第三讲:NHibernate中原生SQL的关联查询
第三章:探索NHibernate的反转和级联及CRUD操作
第一讲:NHibernate中的CRUD操作
第二讲:NHibernate中的反转(inverse)配置详解
第三讲:NHibernate中的级联(cascade)配置详解
第四章:再探NHibernate查询之HQL+Criteria API
第一讲:NHibernate HQL查询深入讲解(一)
第二讲:NHibernate HQL查询深入讲解(二)
第三讲:NHibernate CriteriaAPI条件查询
第五章:NHibernate与log4net整合日志开发
第一讲:Criteria API的动态查询与模糊查询
第二讲:NHibernate之log4net入门详解(一)
第三讲:NHibernate之log4net入门详解(二)
第四讲:NHibernate与log4net整合配置
第六章:NHibernate的数据延迟加载机制
第一讲:NHibernate中的数据延迟加载机制
第二讲:NHibernate中的即时加载的三种实现方式
第三讲:DTO对象在NHibernate中的运用
第七章:探索NHibernate中的事务与并发控制
第一讲:NHibernate中的事务的原理与实现
第二讲:NHibernate中的数据并发控制原理与实现
第八章:探索NHibernate中的视图与存储过程
第一讲:NHibernate中视图的调用
第二讲:NHibernate中利用存储过程进行CRUD操作
第三讲:NHibernate调用存储过程进行标量与实体查询
第九章:NHibernate中的三种状态与一级缓存
第一讲:理解NHibernate的三种数据持久化状态
第二讲:理解NHibernate的一级缓存原理与应用
第十章:NHibernate中使用memcache二级缓存
第一讲:配置NHibernate中二级缓存与查询缓存
第二讲:实现对NHibernate二级缓存的管理
第三讲:NHibernate第三方扩展缓存MemCache的配置
第十一章:NHibernate综合示例与实践
第一讲:整合NHibernate3+ASP NET MVC4+MemCache+Log4NET
第二讲:NHibernate使用实践
阶段项目一-基于NHibernate和MVC4的会员档案管理系统
NHibernate视频教程:NHibernate应用开发涉及技术点包括有:
NHibernate3+ MemCache+Log4NET+ ASP NET MVC4
需要注意的事项就是NHibernate 的hibernate.cfg.xml的配置以及相关实体类.hbm.xml映射文件的配置
MVC4的新语法和视图技术
MVC4中向View层传递并绑定集合数据的注意事项
MVC4中不同Controller之间数据的传递,以及保存数据的两种典型错误以及解决方案
联系我时请说明来自志趣网,谢谢!
关键字:&&&&
给我留言,我会立即联系您,谢谢!
(格式:区号-号码(分机) 如 010-8))
(强烈建议填写,可跟踪信息!)
(1000字内)
免责申明:志趣网所展示的信息由用户自行提供,其真实性、合法性、准确性由信息发布人负责。使用本网站的所有用户须接受并遵守法律法规。志趣网不提供任何保证,并不承担任何法律责任。 志趣网建议您交易小心谨慎。||
Copyright &
志趣网 版权所有asp.net mvc3 nhibernate 声明式事务_ASP.NET技巧_
asp.net mvc3 nhibernate 声明式事务
来源:人气:5535
日常开发中,经常使用NHibernate事务。
因为NHibernate不支持嵌套式事务操作,所以.net MVC中通常使用一个事务来封装一次请求中的操作。
下面是我认为比较漂亮的写法。
view sourceint?01 using System.Web.M&
02 using NH&
04 namespace WebMVC.Filters&
06&&&& public class Transactional : ActionFilterAttribute&
08&&&&&&&& protected I _S&
10&&&&&&&& public Transactional()&
11&&&&&&&& {&
12&&&&&&&&&&&& _Session = DependencyResolver.Current.GetService&ISession&();&
13&&&&&&&& }&
15&&&&&&&& public override void OnActionExecuting(ActionExecutingContext filterContext)&
16&&&&&&&& {&
17&&&&&&&&&&&& _Session.BeginTransaction();&
18&&&&&&&& }&
20&&&&&&&& public override void OnActionExecuted(ActionExecutedContext filterContext)&
21&&&&&&&& {&
22&&&&&&&&&&&& if (_Session == null || !_Session.Transaction.IsActive)&
23&&&&&&&&&&&&&&&&&
25&&&&&&&&&&&& if (filterContext.Exception != null)&
26&&&&&&&&&&&&&&&& _Session.Transaction.Rollback();&
27&&&&&&&&&&&& else
28&&&&&&&&&&&&&&&& _mit();&
29&&&&&&&& }&
使用起来很方便。
view sourceprint?01 using System.Web.M&
02 using WebMVC.F&
04 namespace WebMVC.Controllers&
06&&&& public class CustomersController : Controller&
08&&&&&&&& protected ICustomersRepository _CustomersR&
10&&&&&&&& public CustomersController(ICustomersRepository customersRepository)&
11&&&&&&&& {&
12&&&&&&&&&&&& _CustomersRepository = customersR&
13&&&&&&&& }&
15&&&&&&&& [Transactional]&
16&&&&&&&& public ActionResult List()&
17&&&&&&&& {&
18&&&&&&&&&&&& return View(_CustomersRepository.FindAll());&
19&&&&&&&& }&
优质网站模板无法启动分布式事务-sql-server,sql-server-2005,msdtc,distributed-transactions-CodeGo.net
无法启动分布式事务
我试图运行的SQL链接服务器上,但我得到的错误。
BEGIN DISTRIBUTED TRANSACTION
SELECT TOP 1 * FROM Sessions
OLE DB provider "SQLNCLI" for linked server "CMSLIVE" returned message "No transaction is active.".
Msg 7391, Level 16, State 2, Line 3
The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "CMSLIVE" was unable to begin a distributed transaction.
有由提供者传回两个错误:
Number: $80040E14
Source: Microsoft OLE DB Provider for SQL Server
Description: OLE DB provider "SQLNCLI" for linked server "CMSLIVE" returned message "No transaction is active.".
HelpContext: $
SQLState: 01000
NativeError: 7412
Number: $80040E14
Source: Microsoft OLE DB Provider for SQL Server
Description: The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "CMSLIVE" was unable to begin a distributed transaction.
HelpContext: $
SQLState: 42000
NativeError: 7391
我如何获得微软青睐了安全函数?
或者,最起码,我怎么能得到两个SQL西弗斯去跟对方?
该操作无法OLE DB提供程序“SQLNCLI10”...(*链接服务器(null)分布式事务错误? (使用Oracle提供)
无法在分布式事务中使用NHibernate争取(使用Hibernate)
在SQL Server分布式事务2008 R2(SQL Server 2008 R2中,无人接听)
只有通过代码分布式事务处理错误(由连接池)
在链接服务器执行分布式事务处理协调器错误(SQL Server 2008中,无人接听)
分布式事务错误? (不接受的答案,只有答案没有帮助)
如何插入到远程链接服务器withint交易? (接受的答案没有解决)
我所做的是无关紧要的 CodeGo.net,但我会反正张贴。
保证Distributed Transaction Coordinator服务上都machies运行:
禁止在两台机器上所有的MSDTC安全性:
打开链接的服务器上随机选择:
被curses和咒骂。
被砸的事。
检查一个SELECT链接服务器:
SELECT * FROM CMSLive.CashierManagementSystem.dbo.Users
(763 row(s) affected)
检查客户端端服务器ping远程服务器:
C:\Documents and Settings\avatar&ping wclcmstest.windsor.wcl
Pinging wclcmstest.windsor.wcl [10.180.12.40] with 32 bytes of data:
Reply from 10.180.12.40: bytes=32 time&1ms TTL=128
Reply from 10.180.12.40: bytes=32 time&1ms TTL=128
Reply from 10.180.12.40: bytes=32 time&1ms TTL=128
Reply from 10.180.12.40: bytes=32 time&1ms TTL=128
Ping statistics for 10.180.12.40:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
检查远程服务器后面,通过向启动服务器:
C:\Documents and Settings\avatar&ping wcltestserver.windsor.wcl
Pinging wcltestserver.windsor.wcl [10.180.12.22] with 32 bytes of data:
Reply from 10.180.12.22: bytes=32 time&1ms TTL=128
Reply from 10.180.12.22: bytes=32 time&1ms TTL=128
Reply from 10.180.12.22: bytes=32 time&1ms TTL=128
Reply from 10.180.12.22: bytes=32 time&1ms TTL=128
Ping statistics for 10.180.12.22:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
经检查发现@@SERVERNAME同时匹配服务器上的服务器:
SELECT @@SERVERNAME, SERVERPROPERTY('MachineName')
------------- -------------
WCLTESTSERVER WCLTESTSERVER
SELECT @@SERVERNAME, SERVERPROPERTY('MachineName')
---------- ----------
WCLCMSTEST WCLCMSTEST
发行SET XACT_ABORT ON发行前,我的查询:
SET XACT_ABORT ON
BEGIN DISTRIBUTED TRANSACTION
SELECT TOP 1 * FROM Sessions
授EveryoneFull Control于:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer
在两台服务器上。
本文地址 :CodeGo.net//
-------------------------------------------------------------------------------------------------------------------------
1.发现它,MSDTC远程服务器上为本地服务器的克隆。
从Windows应用程序事件日志:
事件类型:错误
事件来源:MSDTC
事件类别:CM
事件ID:4101
下午1点32分59秒
用户:N / A
计算机:WCLTESTSERVER
当地的MS DTC检测
在MS DTC上WCLCMSTEST具有与本地的MS的唯一标识
DTC。这两个MS DTC将无法
彼此。这个问题通常发生在一个系统的
是不支持克隆工具。 MS DTC要求
系统支持克隆工具如SYSPREP。
从运行“MSDTC-uninstall',然后'msdtc-安装'
提示将解决这个问题。注:运行“MSDTC-uninstall”将
导致系统失去所有的MS DTC
对于请参阅帮助和支持中心
msdtc -uninstall
msdtc -install
然后停止并重新启动SQL Server服务固定它。
好了,服务启动,他们之间有一个通道,分辨率作品,链接服务器的工作 CodeGo.net,并禁用了交易认证。
我的直觉说防火墙的问题,但一些事情在脑海中......
在域中的机器? (是啊,不应该禁用身份验证没关系)
正在运行的机器的防火墙? DTC可能会有点痛防火墙的端口范围,请参阅之中,我会禁用防火墙是为了确定问题
什么是DTC平说?
正在运行的是什么帐户的SQL服务?
今天我最后的adventure与MSDTC和这个错误竟然是一个DNS的问题。你在正确的轨道上,查询如果机器是在域上,EBarr。了不起的名单这个问题,顺便说一句!
我的情况:我需要在子域中的服务器能够通过防火墙运行对父域中的服务器的分布式事务。 I'链接服务器颇有几分多年来,我在SQL中把所有设置链接服务器和MSDTC伊恩这么好听以上。我设置的MSDTC了一系列的TCP在两台服务器上的端口(),并安排了箱子之间的防火墙孔端口-5200。这应该有工作。链接服务器测试OK,我可以很好地通过查询链接服务器的远程SQL服务器,但我无法得到它允许分布式事务。我什至可以看到从开发服务器质量保证服务器上的连接,但没有做旅行回来。
我可以PING从FQDN的开发服务器,如:平DEVSQL.dev。
我不能只用机器PING PING DEVSQL的开发服务器
该DEVSQL服务器应该是两个领域,但并没有解决在父域的DNS ...发生了在父域中的计算机帐户DEVSQL.a旦我们添加DEVSQL从远程服务器质量保证工作的DNS父域,而“平DEVSQL”,这个问题就解决了
我希望这会有所帮助!
本文标题 :无法启动分布式事务
本文地址 :CodeGo.net//
Copyright (C) 2014 CodeGo.net匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。

我要回帖

更多关于 分布式事务 的文章

 

随机推荐