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