相关疑难解决方法(0)

Asp.net WEB API - 如果我使用POST而不是PUT和DELETE会出现什么问题?

我刚刚开始使用Web API,虽然我发现创建方法和我需要的一些配置非常容易,但现在我遇到了一个我不知道如何解决的问题.

一些将使用我的服务的应用程序非常旧,不支持DELETE和PUT方法(例如j2me应用程序)

我发现通过传递这样的东西可以做某种方法模拟:

_method=DELETE|PUT 
Run Code Online (Sandbox Code Playgroud)

但是,我不确定Web API是否能够解释这一点,此外,我不知道如何做到这一点.出于这些原因,我正在考虑使用POST方法来处理更新和删除.话虽如此,如果不使用所有标准方法,我可以期待什么并发症?

一如既往,任何帮助都将受到极大的赞赏

提前致谢.

PD如果有人知道如何_method通过路由到DELETE()或PUT()来发布POST会很棒

c# http-put java-me http-delete asp.net-web-api

7
推荐指数
2
解决办法
1791
查看次数

ASP.NET Web API CacheControl

我正在尝试从ASP.NET Web Api操作中实现CacheControl标头(我意识到我可以使用其他库,在过滤器/处理程序中执行此操作,但希望首先进行一些测试).

我正在从一本看起来如下的书中听到一个简单的例子:

var response = Request.CreateResponse<IEnumerable<string>>(HttpStatusCode.OK,emails);

response.Headers.CacheControl = new CacheControlHeaderValue();
response.Headers.CacheControl.MaxAge = TimeSpan.FromHours(1);
response.Headers.CacheControl.MustRevalidate = false;
response.Headers.CacheControl.Public = true;

return response;
Run Code Online (Sandbox Code Playgroud)

此代码几乎与stackoverflow上提供的许多其他答案相同.

但是,web api根本没有设置缓存控制头!有任何想法吗?????

当我在fiddler中查看响应时,它看起来如下所示,因为您可以将缓存控件设置为no-cache.

HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-MiniProfiler-Ids: ["b7bfde10-e8d3-455d-b40d-2f33eb285023"]
X-Powered-By: ASP.NET
Date: Sat, 25 May 2013 11:54:35 GMT
Content-Length: 24
Run Code Online (Sandbox Code Playgroud)

我试过改变maxage,mustrevalidate和公共值都无济于事......

cache-control http-headers asp.net-web-api

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