有没有一种方法可以使用新的IHttpActionResult接口(interface)返回HttpStatusCode.NoContent响应消息?我目前正在使用returnnewHttpResponseMessage(HttpStatusCode.NoContent);并想将其转换为returnNoContent();。IHttpActionResult已经有Ok()、Conflict()和NotFound()但我找不到我需要在项目中使用的Forbidden()和NoContent()的任何内容。添加其他结果类型有多容易? 最佳答案
在ASP.NETWebAPI2中,以下有什么区别?publicasyncTask>GetMyItems(){//...code...,varmyItems=await...returnmyItems;}和publicasyncTask>GetMyItems(){//...code...,varmyItems=await...returnmyItems;}和publicasyncTaskGetMyItems(){//...code...,varmyItems=await...returnOk(myItems);}我应该返回IHttpActionResult或IEnumerable/IQu
我需要编写如下所示的方法来返回文本文档(.txt、pdf、.doc、.docx等)虽然网上有很多用WebAPI2.0发布文件的好例子,但我找不到相关的例子,只下载了一个。(我知道如何在HttpResponseMessage中做到这一点。)publicasyncTaskGetFileAsync(intFileId){//justreturningfilepart(nootherlogicneeded)}以上是否需要异步?我只想返回流。(可以吗?)更重要的是,在我最终以一种或另一种方式完成工作之前,我想知道做这种工作的“正确”方式是什么......(所以方法和技术提到这将不胜感激)..谢谢
在ASP.NETWebAPI2中,IHttpActionResult在简化Controller代码方面提供了很多值(value),我不愿意停止使用它,但我遇到了一个问题。我需要在传出响应上设置ETag,但我找不到任何允许我访问响应header的属性。目前我正在使用Ok(Tcontent)来自ApiController的辅助方法,它返回一个OkNegotiatedContentResult目的。不过,这似乎没有任何内容可以让我修改header。我是不是遗漏了什么,或者在使用股票时真的没有办法做到这一点IHttpActionResult类型?我考虑过一个消息处理程序,但随后我必须弄清楚如何
当在我的WebApiGET操作中找不到某些内容时,我将返回一个NotFoundIHttpActionResult。除了此响应,我还想发送自定义消息和/或异常消息(如果有)。当前ApiController的NotFound()方法不提供传递消息的重载。有什么办法吗?或者我必须编写自己的自定义IHttpActionResult? 最佳答案 这是一个用简单消息返回IHttpActionResultNotFound的代码:returnContent(HttpStatusCode.NotFound,"Foodoesnotexist.");
假设这是我的操作方法publicIHttpActionResultGet(intid){varstatus=GetSomething(id);if(status){returnOk();}else{returnNotFound();}}测试会varhttpActionResult=controller.Get(1);在此之后我如何检查我的http状态代码? 最佳答案 这里Ok()只是类型OkResult的一个助手,它将响应状态设置为HttpStatusCode.Ok...所以你可以只检查你的操作结果的实例是否是OkResult...
对于从WebAPI2Controller返回,如果响应正常(状态200),我可以像这样返回响应内容:publicIHttpActionResultGet(){stringmyResult=...returnOk(myResult);}如果可能,我想在possible时使用这里的内置结果类型我的问题是,对于另一种类型的响应(不是200),我如何用它返回一条消息(字符串)?例如,我可以这样做:publicIHttpActionResultGet(){returnInternalServerError();}但不是这个:publicIHttpActionResultGet(){returnI