c# – WCF休息返回HttpResponseMessage想要在设置内容时协商
我有一个WCF Restful服务,我希望方法返回HttpResponseMessage,因为它似乎是结构化的,而不仅仅是返回数据或异常,或者其他任何可能使它的方式.
我假设这是一个正确的,如果不是让我知道,但我的问题是当我尝试设置HttpResponseMessage.Content时会发生什么.当我这样做,我做了RESTful呼叫请求身份验证的客户端. 这是我的代码: 在界面中: [WebGet(UriTemplate = "/GetDetailsForName?name={name}",ResponseFormat = WebMessageFormat.Json)] HttpResponseMessage GetDetailsForName(string name); 在课堂里: public HttpResponseMessage GetDetailsForName(string name) { HttpResponseMessage hrm = new HttpResponseMessage(HttpStatusCode.OK) { //If I leave this line out,I get the response,albeit empty Content = new StringContent("Hi") }; return hrm; } 我想尝试使用Request.CreateResponse,但我似乎无法从我的WCF Restful方法获取请求. OperationContext.Current.RequestContext没有CreateResponse. 任何指针? 解决方法
不幸的是,这不行.演示的代码说:
问题是HttpResponseMessage是一次性的,并不意味着被序列化,而StringContent根本不能被序列化. 至于为什么您被重定向到认证表单 – 当它无法序列化StringContent时,该服务会引发异常并返回一个被认为是认证问题的400 HTTP状态代码. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |