首先,我不知道这是否可行,但让我描述一下我的情景。
我有一组WCF服务,一个SQL Server 2008数据库都运行在Windows Server 2008上。当我连接到我的LAN时,所有这一切都正常,但是我将使用这个盒子进行演示,并且我想让它在独立模式下工作(即,没有连接到任何网络)。
当我尝试在独立模式下执行此操作时,SQL Server数据库似乎正在工作(我能够检索数据)。但是,当我尝试在WCF服务的事务范围内插入数据时,在客户端,我遇到了通信故障异常。检查Windows事件日志,我看到有一条消息“MSDTC在尝试与系统建立安全连接时遇到错误”。
有没有人知道需要在DTC上设置什么才能使其正常工作
答案 0 :(得分:1)
在发生的事情的背景下,错误现在非常有意义。
这里的问题是,在部署到服务器的其中一个应用程序中的某处,我们指的是此服务器无法访问的硬编码dns名称(因为它是独立的)。根据我的理解,DTC试图流动事务,无法从计算机名称建立地址,而这是它被轰炸的地方。由于应用程序是一个WCF服务,错误很好地混淆了,但最终我们通过启用服务跟踪来跟踪。
希望能帮助遇到类似错误的其他人。注意硬编码的值。
答案 1 :(得分:0)
可能与WCF服务用于连接数据库的连接字符串有关。尝试使用Data Source =。或Data Source = localhost,以确保您使用的是环回网络适配器(127.0.0.1)。
Windows计算机上是否运行了防火墙?服务器是域的一部分吗?
我还建议查看MS DTC(组件服务MMC插件)的安全设置对话框。尝试将“事务管理器通信”设置为“无需身份验证”,并将大多数其他选项标记为基准线。