具有字节的 C# Web 服务响应
本文关键字:Web 服务 响应 字节 | 更新日期: 2023-09-27 18:32:29
我有一个简单的Web服务,它返回一堆字节。
[WebInvoke(BodyStyle = WebMessageBodyStyle.WrappedRequest)]
public byte[] GetBytes(string key)
{
return Encoding.UTF8.GetBytes("You said " + key);
}
当我发送请求时,它会回复:
<base64Binary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">WW91IHNhaWQgdGVzdA==</base64Binary>
我想得到的回应只是没有base64Binary
标签的WW91IHNhaWQgdGVzdA==
- 我错过了什么?
谢谢!
好的,我已经完成了:
[WebInvoke(BodyStyle = WebMessageBodyStyle.WrappedRequest)]
public Stream EchoWithPost(string key)
{
return new MemoryStream(Encoding.UTF8.GetBytes("You said " + key));
}
你说你正在使用网络服务。因此,Web 服务 (asmx) 的默认内容类型始终为 application/soap+xml
。因此,表示的内容将采用 xml 格式。这就是为什么虽然你返回byte[]
数组,但它将产生的响应将base64
编码在肥皂体中。
根据设计,您有上述限制,因此如果您的目的只是返回字节,请考虑使用
Response.BinaryWrite
或 http 处理程序。