C# 如何在Web API中将HttpResponse设置为HttpResponseMessage
我有一个asp.net webC# 如何在Web API中将HttpResponse设置为HttpResponseMessage,c#,asp.net-web-api,C#,Asp.net Web Api,我有一个asp.net webAPI应用程序,它使用OWIN托管。webAPI应用程序使用依赖于System.web的外部库,并将其响应写入System.web.response对象。我已经将一个虚拟对象设置为HttpContext.Current,之后,我希望外部库将响应设置为HttpRequest。然后我需要知道如何将结果从HttpRequest传输到HttpRequestMessage,以便webAPI方法可以处理结果 以下是一些示例代码: public HttpResponseMessa
API
应用程序,它使用OWIN
托管。webAPI
应用程序使用依赖于System.web
的外部库,并将其响应写入System.web.response对象。我已经将一个虚拟对象设置为HttpContext.Current
,之后,我希望外部库将响应设置为HttpRequest
。然后我需要知道如何将结果从HttpRequest
传输到HttpRequestMessage
,以便webAPI
方法可以处理结果
以下是一些示例代码:
public HttpResponseMessage GetTest()
{
HttpResponseMessage responseMessage = new HttpResponseMessage();
HttpResponse httpResponse = new HttpResponse(new StreamWriter(new MemoryStream()));
httpResponse.Write("From HttpResponse");
return responseMessage;
}
我已经使用
HttpResponse.Write()
方法编写了一些文本,现在我需要将结果从HttpResponse
移动到HttpResponseMessage
我相信您要查找的是IHttpActionResult请参阅链接:
以下是如何创建HttpResponseMessage的示例:
public IHttpActionResult Get()
{
HttpResponseMessage responseMessage = "From HttpResponse";
return new ResponseMessageResult(responseMessage);
}
尝试:
也许你需要发布一些代码。可能只是我。我仍然无法得到你想要的。在您的问题中,您谈到了将结果从请求传输到HttpResponseMessage。结果“from HttpResponse”设置在HttpResponse对象上,但web api使用HttpResponseMessage向客户端提供响应。因此,我需要知道如何从HttpResponse读取响应并将其设置为HttpResponseMessage。是否使用MVC?如果需要,我们可以使用MVC,但我们不能使用System.Web,因为我们的应用程序使用OWIN托管,而不是IIS托管。显然,如果请求失败,请返回相应的状态代码,而不是“OK”
return Request.CreateResponse(HttpStatusCode.OK, "{data to return here}")