相关疑难解决方法(0)

从Web Api控制器返回http状态代码

我正在尝试在web api控制器中返回未针对GET方法修改的304的状态代码.

我成功的唯一方法是这样的:

public class TryController : ApiController
{
    public User GetUser(int userId, DateTime lastModifiedAtClient)
    {
        var user = new DataEntities().Users.First(p => p.Id == userId);
        if (user.LastModified <= lastModifiedAtClient)
        {
             throw new HttpResponseException(HttpStatusCode.NotModified);
        }
        return user;
    }
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是它不是一个例外,它只是没有修改,所以客户端缓存是好的.我还希望返回类型是User(因为所有web api示例都显示为GET)不返回HttpResponseMessage或类似的东西.

c# httpresponse http-status-codes asp.net-web-api

213
推荐指数
9
解决办法
25万
查看次数

在vb.net Webapi项目中缺少request.CreateResponse

我似乎已经找到了问题,但不知道如何修复它,或者我是否可以.

当我创建一个新C# WebAPI项目,并为System.Net.Http我可以访问 添加导入Request.CreateResponse<T>.

当我创建一个新VB.Net WebAPI项目,并为System.Net.Http我所拥有的所有内容添加导入时Request.createODataErrorResponse.

然而,CreateResponse无论如何我都可以忽略智能感知和访问.似乎VB只是没有正确解释各种扩展.

我想修复intellisense,但实际上并不需要它.

谢谢!

史蒂夫

更新 我发现这个论坛帖子在2012年8月回复,解释它已被复制,但似乎尚未修复.

我是新来的,应该关闭吗?

vb.net asp.net asp.net-mvc-4 asp.net-web-api

6
推荐指数
1
解决办法
6037
查看次数

在Web API 2中返回一个String

虽然听起来很简单,但我没有找到任何关于此的文档,也许我写错了所以如果是这样的话,一些关于此的好文档将不胜感激.我只想返回一个字符串或类型字符串的模型.

return "string here";
Run Code Online (Sandbox Code Playgroud)

我每次都会收到此错误:

Severity    Code    Description Project File    Line
Error   CS0029  Cannot implicitly convert type 'string' to 'System.Web.Http.IHttpActionResult'  TaskManagement  C:\dev\TaskManagement\TaskManagement\Controllers\JobsController.cs  157
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用CAST - 同样的错误.

return (IHttpActionResult)"string"
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api asp.net-web-api2

6
推荐指数
1
解决办法
8177
查看次数

JSON字符串被切断

我的应用程序是ASP.NET Core 1.0 Web API。

如果我的控制器返回一个小的JSON,则一切正常。但是,如果JSON变大,则会出现此错误

Visual Studio给我这个错误

这是创建数据的控制器和方法(简称)

  [HttpGet]
  public async Task<IActionResult> GetUserData()
  {        
        return this.Ok(GetSomeData());
  }

   private List<MyUser> GetSomeData()
   {
       var userList = new List<MyUser>();
       for (int i = 0; i < 2500; i++)
       {
            userList.Add(new MyUser{
                Name = "Data",
                Age = i,
                Phone = "000",
            });
       }
       return userList;
   }
Run Code Online (Sandbox Code Playgroud)

如果循环变大,则Iam会收到上面列出的错误。

请记住,代码是极其简化的。但是一切正常,直到返回大量数据。

我曾试图改变maxJsonLengthweb.config,因为它是描述在这里

c# json asp.net-core-mvc asp.net-core

5
推荐指数
1
解决办法
2603
查看次数