是的,可以使用称为“ 消息格式器 ” 的概念来完成此操作
但是Message
Formatter会很困难并且超出范围,无法在此处解释堆栈溢出。您可以参考WCF可扩展性:消息格式化程序
如果您不希望将其弄乱,那么可以使用hack。
将每个方法的返回类型设置为Stream。
例如
public Stream GetStaticData() { var objTobeReturned = something; WebOperationContext.Current.OutgoingResponse.ContentType = "application/json; charset=utf-8"; return new MemoryStream(Encoding.UTF8.GetBytes(objTobeReturned.ToJson())); }这里ToJson()是我自己的扩展方法,该方法使用NewtonSoft库将对象转换为json字符串。
WCF将跳过流输出以进行序列化,并将其原样传递给您的客户端。
我希望你能得到答案。



