Tôi có quy trình lưu trữ dựa trên CLR sử dụng MsmqIntegrationBinding
để đăng thông báo lên MSMQ từ xa. Tất cả mọi thứ đã làm việc tốt trong SQL Server 2005 nhưng bây giờ có một nâng cấp từ năm 2005 đến năm 2012 giả sử xảy ra. Tôi đã cố gắng để đăng ký CLR (SP) trong SQL Server 2012 nhưng trong khi đăng ký System.ServiceModell.DLL
nó đã đưa ra lỗi sau.Đăng ký chức năng CLR (WCF) trong SQL Server 2012
Msg 6544, Level 16, State 1, Line 1
CREATE HỘI để lắp ráp 'System.ServiceModel' thất bại vì lắp ráp 'microsoft.visualbasic.activities.compiler' bị thay đổi hay không một assembly .NET tinh khiết . Tiêu đề PE không thể xác minh/gốc gốc.
Tôi đã tìm kiếm giải pháp và có vẻ như một số người khác đang gặp sự cố tương tự và hiện tại không có giải pháp cho nó.
Lý do chính để sử dụng MSMQIntegrationBinding
là chúng tôi muốn đảm bảo rằng mỗi thư chỉ được gửi một lần. Như bạn có thể thấy rằng tôi đã khá quan tâm đến tài sản ExactlyOnce
mà không có trong lớp system.messaging bình thường. Chúng tôi xử lý hàng ngàn tin nhắn và sắp xếp các tin nhắn là rất quan trọng hơn mỗi thông điệp được đóng dấu với một id và nếu bất kỳ tin nhắn được gửi trong đó có một id đó là ít hơn tin nhắn trước đó gửi hệ thống khách hàng tạm dừng (vấn đề lớn).
Tôi cũng đã viết lại proc được lưu trữ CLR bằng cách sử dụng system.messaging. Tôi chỉ cần gợi ý cho dù nó có thể hỗ trợ kịch bản tôi đã đề cập ở trên.
Gọi dịch vụ WCF thay thế sẽ ủy quyền cuộc gọi đến hàng đợi. – abatishchev
Độ bit của SQL Server và của assembly là gì? – abatishchev