2011-06-30 60 views
2

我有一個簡單的WCF服務,它將分析從.pdf或.doc文件中提取的原始文本。上傳的字符串發送特殊字符時出現WCF錯誤

99%確定,但在某些情況下,服務器將引發錯誤的請求例外

遠程服務器返回了意外的響應:(400)錯誤的請求。

在調查了錯誤的文本後,我確實發現問題與換頁符(ascii/unicode#12)有關。

簡單的解決方案是在上傳字符串之前刪除這些字符,但在我的情況下,我無法控制每個將使用WCF服務的客戶端。

那麼,有沒有任何服務器端替代方案可以讓我上傳這個特殊字符(以及可能導致相同異常的任何其他字符)?

+1

你不能去二進制文件而是使用'byte []'而不是? –

回答

2

如果您使用的是基本或wshttp綁定,那麼傳遞這種字符串的安全方法是在客戶端和服務器端都使用base64編碼。在你的情況下,我會建議使用byte [],它將被序列化爲一個base64字符串。

不幸的是,沒有辦法處理服務器端的錯誤請求,我知道。

+0

我應該在整個地方使用一個字節數組還是應該只用於可能包含特殊字符的字符串? –

+0

只用於特殊字符串應該這樣做。 –