我有一个基于 CLR 的存储过程,用于MsmqIntegrationBinding
将消息发布到远程 MSMQ。在 SQL Server 2005 中一切正常,但现在假设从 2005 升级到 2012。我尝试在 SQL Server 2012 中注册 CLR (SP),但在注册System.ServiceModell.DLL
时出现以下错误。
消息 6544,级别 16,状态 1,第 1 行为
程序集“System.ServiceModel”创建程序集失败,因为程序集“microsoft.visualbasic.activities.compiler”格式错误或不是纯 .NET 程序集。无法验证的 PE 标头/本机存根。
我搜索了解决方案,似乎很少有人遇到同样的问题,到目前为止还没有解决方案。
使用的主要原因MSMQIntegrationBinding
是我们希望确保每条消息只传递一次。ExactlyOnce
如您所见,我对普通 system.messaging 类中不存在的属性非常感兴趣。我们处理数千条消息,消息的排序非常重要,而且每条消息都带有一个 id 标记,如果发送的任何消息的 id 小于先前发送的消息,客户端系统就会停止(大问题)。
我还使用 system.messaging 重写了 CLR 存储过程。我只需要建议它是否可以支持我上面提到的场景。