我使用VB.NET“WCF Rest Service Application”项目模板构建了一个非常简单的Web服务(这是一个不错的选择吗?).我工作得很好,除了有事实
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"> ... </string>
添加到我的答案.
我已将我的返回值声明为String:
<WebInvoke(UriTemplate:="member/login",Method:="POST",responseformat:=Webmessageformat.Json,BodyStyle:=WebMessageBodyStyle.Bare)> Public Function Create(data As IO.Stream) As String Dim strData As String = New IO.StreamReader(data).ReadToEnd() Dim UserAccessForm As LoginAccess = Me.getAnswer(strData) Dim jsonAnswer As String jsonAnswer = Newtonsoft.Json.JsonConvert.SerializeObject(UserAccessForm,Newtonsoft.Json.Formatting.None) Return jsonAnswer End Function
所以不要回答这个问题:
{"logged":false,"userID":"0","message":"Empty body"}
我明白了:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"> {"logged":false,"message":"Empty body"} </string>
有什么方法可以避免我的字符串答案的这种不必要的序列化?
我刚遇到这个问题并通过将XmlSerializerFormat属性应用于服务契约来解决它.
这是一个c#片段 – 希望它对你有所帮助.
[ServiceContract(Namespace = "")] [XmlSerializerFormat] interface IHuggies { [OperationContract] [WebInvoke( Method = "POST",UriTemplate = "/CheckIfConsumerExists")] bool CheckIfConsumerExists(string parameters); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。