設置:我有建於asp.net/c#的形式,在提交XML序列化它的對象模型,並使用XML調用存儲過程序列化的數據作爲唯一的參數。存儲過程將該數據發送到sql代理隊列。發送到代理隊列的消息必須是符合隊列中消息協定的有效XML。該消息被BizTalk拾起並進行相應處理。SQL Service Broker的隊列處理外國字符的消息中
問題:最初提交給我的數據只是普通英文字符(基本上舉行ASCII字符),但要求是在地平線上,支持外國字符爲好。在我的測試中,我注意到如果我嘗試使用外來字符(中文,阿拉伯文等)提交某些內容,我會在隊列中出現錯誤,並且發送到BizTalk的消息以「?????」結尾。代替外國字符。我已經將utf = 16 xml標題添加到文檔的頂部,但這似乎沒有幫助。
問:是否有一種方法,我可以通過隊列投傳入的XML消息爲nvarchar而且還有它被認爲是有效的XML?我不想更改隊列上的實際類型或重新創建它。我寧願以某種方式改變存儲在proc中的消息,以使其進入隊列。
在此先感謝您的幫助。