c# – WCF休息返回HttpResponseMessage想要在设置内容时协商

c# – WCF休息返回HttpResponseMessage想要在设置内容时协商,第1张

概述我有一个WCF Restful服务,我希望方法返回HttpResponseMessage,因为它似乎是结构化的,而不仅仅是返回数据或异常,或者其他任何可能使它的方式. 我假设这是一个正确的,如果不是让我知道,但我的问题是当我尝试设置HttpResponseMessage.Content时会发生什么.当我这样做,我做了RESTful呼叫请求身份验证的客户端. 这是我的代码: 在界面中: [WebGe 我有一个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.

任何指针?

解决方法 不幸的是,这不行.演示的代码说:

Construct an httpResponseMessage object,serialize it with a JsON serializer and pass the result over the wire.

问题是httpResponseMessage是一次性的,并不意味着被序列化,而StringContent根本不能被序列化.

至于为什么您被重定向到认证表单 – 当它无法序列化StringContent时,该服务会引发异常并返回一个被认为是认证问题的400 http状态代码.

总结

以上是内存溢出为你收集整理的c# – WCF休息返回HttpResponseMessage想要在设置内容时协商全部内容,希望文章能够帮你解决c# – WCF休息返回HttpResponseMessage想要在设置内容时协商所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1259840.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存