【发布时间】:2011-12-16 03:58:43
【问题描述】:
我一直在将加密数据从我的应用程序发送到我的 WCF 服务,只需使用 byte[] 作为数据类型。但是,在极少数情况下,我会看到这些类型的错误:
代理对(0xD8CC,0xAF1F)无效。高代理 字符 (0xD800 – 0xDBFF) 必须始终与低代理项配对 字符 (0xDC00 – 0xDFFF)
代理对(0xD8AC,0xE332)无效。高代理 字符 (0xD800 - 0xDBFF) 必须始终与低代理项配对 字符 (0xDC00-0xDFFF)。
代理对(0xD8CC,0xAAE9)无效。高代理 字符 (0xD800 - 0xDBFF) 必须始终与低代理项配对 字符 (0xDC00-0xDFFF)。
无效的高代理字符 (OxDF44)。一个高代理字符 必须有一个范围内的值(OxD800 - OxDBFF)
经过一番摸索之后,我怀疑这是加密导致 WCF XML 无法处理的字节序列时的结果。有没有更好的方法通过 WCF 传输我的加密数据?救命!
我想错误可能发生在任一方向。这是我的 .svc 中的内容。
public byte[] GetEncryptedResult(byte[] encryptedRequest)
{
return ....
}
另一种可能性 - 这不是在 WCF 中发生的,而是在我加密数据时发生的。数据被放入 XML,加密,通过 WCF 传输,解密为 XML。
我可以使用 DataContractSerializer 吗?还有什么?
【问题讨论】:
-
我没有更多细节。除了加密请求的大小
-
显示你的服务的定义。显示你是如何称呼它的。显示实际异常(包括堆栈跟踪),而不仅仅是异常
Message。 -
更多细节 - 用户来自世界各地。也许可能有一些本地编码问题导致 WCF 出现问题?
-
好建议,我再调查一下。