我有一个使用API
托管的asp.net web OWIN
应用程序。 Web API
应用程序使用依赖于System.Web
的外部库,并将其响应写入System.Web.Response对象。我已经将一个虚拟对象设置为HttpContext.Current
,然后我希望外部库将响应设置为HttpRequest
。然后,我需要知道如何将结果从HttpRequest
传输到HttpRequestMessage
,以便网络API
方法可以处理结果。
以下是一些示例代码:
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
。
答案 0 :(得分:0)
我相信你要找的是IHttpActionResult,请看链接: https://docs.microsoft.com/en-us/aspnet/web-api/overview/getting-started-with-aspnet-web-api/action-results
以下是如何创建HttpResponseMessage的示例:
public IHttpActionResult Get()
{
HttpResponseMessage responseMessage = "From HttpResponse";
return new ResponseMessageResult(responseMessage);
}
答案 1 :(得分:0)
尝试:
return Request.CreateResponse(HttpStatusCode.OK, "{data to return here}")