首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Asp.Net Web API中使用Session,Cache和Application几个方法

ASP.NET中,Web Api控制器类派生于ApiController,该类与ASP.NETControl类没有直接关系,因此不能像在Web MVC中直接使用HttpContext,Cache...,Session等,要使用的话,一般是从System.Web.HttpContext.Current静态对象引用HttpContext,从而使用Session等状态数据。    ...不过,要在控制器类中通过HttpContextSession属性直接使用Session状态数据,将抛出nullreference异常,网查主要有两种解决方案,一个是重载Globalinit()方法,...在该方法中开放Session状态,另一个设计带Session路由处理器     重载GlobalInit() public class WebApiApplication : System.Web.HttpApplication...{ route.MapHttpRoute( name: "WebApiRoute1", routeTemplate: "api

1.4K10

如何让ASP.NET Web APIAction方法在希望Culture下执行

在今天编辑推荐《Hello Web API系列教程——Web API与国际化》一文中,作者通过自定义HttpMessageHandler方式根据请求Accep-Language报头设置当前线程UI...如果你对ASP.NET Web API执行机制有足够了解的话,你会发现实际上有很多种解决方案。...不过这些解决方案都不够完美,原因很简单:ASP.NET Web API整个框架均采用基于Task并行编程模式,所以每个可扩展组件均可以在不同线程中执行,这样会导致我们没有办法100%控制目标方法真正执行线程...Web API利用一个名为HttpActionSelector对象来选择与当前请求匹配HttpActionDescriptor,要让我们自定义ExtendedReflectedHttpActionDescriptor...ASP.NET Web API默认使用HttpActionSelector类型为ApiControllerActionSelector,我们自定义ExtentedApiControllerActionSelector

1.2K90
您找到你想要的搜索结果了吗?
是的
没有找到

HTTP错误代码大全

如果问题依然存在,请与 Web 服务器管理员联系。 403.3 禁止:禁止写访问 如果试图上载或修改不允许写访问目录中文件,就会导致此问题。...HTTP 错误 405 405 不允许方法 对于请求所标识资源,不允许使用请求行中所指定方法。请确保为所请求资源设置了正确 MIME 类型。...如果问题依然存在,请与 Web 服务器管理员联系。 403.3 禁止:禁止写访问 如果试图上载或修改不允许写访问目录中文件,就会导致此问题。...HTTP 错误 405 405 不允许方法 对于请求所标识资源,不允许使用请求行中所指定方法。请确保为所请求资源设置了正确 MIME 类型。...HTTP 错误 405 405 不允许方法 对于请求所标识资源,不允许使用请求行中所指定方法。请确保为所请求资源设置了正确 MIME 类型。

2.3K20

HTTP接口设计

主要使用场景在于实现并发控制 客户端错误 400 Bad Request : 请求体包含语法错误 401 Unauthorized : 需要验证用户身份,如果服务器就算是身份验证后也不允许客户访问资源...Method Not Allowed : 不允许执行目标方法,响应中应该带有 Allow 头,内容为对该资源有效 HTTP 方法 406 Not Acceptable : 服务器不支持客户端请求内容格式...服务端错误 500 Internal Server Error : 服务器遇到了一个未曾预料状况,导致了它无法完成对请求处理。...501 与 405 区别是:405 是表示服务端不允许客户端这么做,501 是表示客户端或许可以这么做,但服务端还没有实现这个功能 身份验证 OAuth 2.0 官网 理解OAuth 2.0 - 阮一峰...以及对文中 `state` 参数介绍修正 JSON Web Token,一种 Token 生成标准 Json Web Tokens: Introduction Json Web Tokens:

1.8K20

ASP.NET Core 2.0 建立规范 REST API -- GET 和 POST

html 本文介绍是使用ASP.NET Core建立Richardson成熟度为2级伪RESTful web API, 本文介绍是GET和POST....状态码 状态码是非常重要,因为只有状态码会告诉API消费者: 请求是否如预期成功,或者失败 如果出现了错误,谁该为这个错误负责 下面再列举一下web API会用到状态码: 200级别,表示成功:...,表示请求资源不存在 405 - Method not allowed,这就是当我们尝试发送请求给某个资源时,使用HTTP方法却是不允许,例如使用POST api/countries, 而该资源只实现了...500级别,服务器错误: 500 - Internal server error,这表示是服务器发生了错误 回到刚才那两个方法,默认情况下 JsonResult会返回200 OK状态码,可以去修改JsonResult...然后, 还需要对应这个POST Action 做一个GET集合Action 方法: ?

1.5K10

5个REST API安全准则

必须确保传入HTTP方法对于会话令牌/API密钥和相关资源集合,操作和记录都是有效。 例如,如果您有一个RESTful API库,不允许匿名用户删除书目录条目,但他们可以获得书目录条目。...(4)防止跨站点请求伪造 对于RESTful Web服务公开资源,重要是确保任何PUT,POST和DELETE请求都受到防止跨站点请求伪造保护。 通常,使用基于令牌方法。...200 OK -回应一个成功REST API行动。HTTP方法可以是GET,POST,PUT,PATCH或DELETE。 400错误请求 -请求格式错误,如消息正文格式错误。...405不允许方法 -意外HTTP方法错误检查。 例如,RestAPI期待HTTP GET,但使用HTTP PUT。...遵循这些准则将导致更安全和高质量REST API服务和更多开发人员友好REST API

3.7K10

Contact Manager Web API 示例CRUD 操作

联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com...PUT 也能拿来"新增"使用,如果服务器允许 Client 去指定新 URI。那范例联系人管理将不允许使用 PUT 来新增。 · POST 新增。...但按照 HTTP/1.1 协议,当一个 POST 请求会导致资源建立,服务器应该响应状态代码为 201 (Created)。...因此,如果联系人已经被删除,方法应该不能回传错误码。...CRUD 操作总结 在使用 ASP.NET Web API Framework 时,你能发现与 HTTP/1.1 规范有很大关连性,以前较很少关心与了解内容,例如,PUT、DELETE、POST处理

89290

记录一下 http status code

HTTP Method 较为简单,我们常用习惯如下: 一般查询我们都会使用 GET 方法, 创建新记录使用 POST 方法 更新已有数据使用 PUT 方法 更新已有数据部分属性使用 PATCH 方法...101 Switching Protocol,协议转换,在使用 Web Socket 时候就会遇到,下面是一个示例,响应会有一个 Connection:Upgrade 请求头, Upgrade 会指定要使用协议名称...请求,重定向后会使用 GET 请求且 Body 数据会丢失 307、308 支持 POST 请求,在 POST 重定向时候会带上原来请求 body 再请求新地址,body 数据不会丢失 302、307...Token 等 403 Forbidden,禁止访问,当前用户没有权限访问资源,如需要Admin角色用户,但是请求用户没有这个角色 404 NotFound,未找到资源,资源不存在 405 Method...Not Allowed,不允许方法调用,资源不支持请求方法,比如资源只允许 GET 请求,但是实际请求使用了 POST 或 DELETE 方法 406 Not Acceptable,请求资源客户端不支持处理

1.2K20

Http 405_android与服务器交互

因为现在都用spring配置,很少用到servlet了,今天想写一个demo,结果报了一个405错误…………………真的是打扰了……. 405概念 请求行中指定请求方法不能被用于请求相应资源...该响应必须返回一个Allow 头信息用以表示出当前资源能够接受请求方法列表。   ...鉴于 PUT,DELETE 方法会对服务器上资源进行写操作,因而绝大部分网页服务器都不支持或者在默认配置下不允许上述请求方法,对于此类请求均会返回405错误。...其实就是说你访问了不是你能访问了,例如你使用post方法访问静态资源,Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求 那么我这个问题是在哪里呢?..., msg); } else { resp.sendError(400, msg); } } 你看,这里,只要http 协议是1.1就返回405,不然就返回400,反正就是直接报错….

91120

10个有关RESTful API良好设计最佳实践

Web API已经在最近几年变成重要的话题,一个干净API设计对于后端系统是非常重要。   ...通常我们为Web API使用RESTful设计,REST概念分离了API结构和逻辑资源,通过Http方法GET, DELETE, POST 和 PUT来操作资源。   ...下面是进行RESTful Web API十个最佳实践,能为你提供一个良好API设计风格。...car 该方法不允许(405) 更新一个指定资源 擅长指定资源 不要使用: /getAllCars /createNewCar /deleteAllRedCars 2.Get方法和查询参数不应该涉及状态改变.../v1/errors/12345" } ] } 10.允许覆盖http方法 一些代理只支持POST 和 GET方法, 为了使用这些有限方法支持RESTful API,需要一种办法覆盖http原来方法

62350

使用ASP.NET Core 3.x 构建 RESTful API - 3.3 状态码、错误故障、ProblemDetails

HTTP状态码 HTTP状态码会告诉API消费者以下事情: 请求是否执行成功了 如果请求失败了,那么谁为它负责 HTTP状态码有很多,但是Web API不一定需要支持所有的状态码。...例如告诉搜素引擎,某个页面的网址已经永久改变了。绝大多数Web API都不需要使用这类状态码。...not allowed,当尝试发送请求到资源时候,使用了不被支持HTTP方法时,就会返回405状态码; 406 - Not acceptable,这表示API消费者请求表述格式并不被Web...故障确实会对API整体可用性造成影响。 ProblemDetails 当ASP.NET Core 大约在 2.1 版本时候,它引入了 ProblemDetails。...例如,当返回类型为 IActionResult 方法返回客户端错误状态码时候(4xx),同时还会返回一个body,这个 body 就是 ProblemDetails。

1.6K20

同源策略与CORS

不同源下,浏览器不允许js操作Cookie、LocalStorage、DOM等数据或页面元素,也不允许发送ajax请求,同源下则不受影响。...简单请求 满足以下三点即为简单请求: HTTP请求方法为GET、POST或HEAD HTTP请求头只能包含Accept, Accept-Language, Content-Language, Content-Type...一个问题 上周在ASP.NET Web API 2中使用CORS,报错:The 'Access-Control-Allow-Origin' header contains multiple values...经过排查发现在Web.config文件中也配置了CORS,与代码中配置重复,注释掉之后问题解决。该问题参考了:stackoverflow上回答。...严格限制会导致一些不便,故同源策略开了几个口子: Cookie共享 子域名可以共享父级域名cookie 嵌入式资源获取 ,,等标签获取资源不受同源策略限制,这也是

1K40

RESTful API 最佳实践(阮一峰)

RESTful 是目前最流行 API 设计规范,用于 Web 数据接口设计。 它大原则容易把握,但是细节不容易做对。...1.2 动词覆盖 有些客户端只能使用GET和POST这两种方法。服务器必须接受POST模拟其他三个方法(PUT、PATCH、DELETE)。...上面代码中,X-HTTP-Method-Override指定本次请求方法是PUT,而不是POST。 1.3 宾语必须是名词 宾语就是 API URL,是 HTTP 动词作用对象。...405 Method Not Allowed:用户已经通过身份验证,但是所用 HTTP 方法不在他权限之内。 410 Gone:所请求资源已从这个地址转移,不再可用。...三、服务器回应 3.1 不要返回纯本文 API 返回数据格式,不应该是纯文本,而应该是一个 JSON 对象,因为这样才能返回标准结构化数据。

2.7K20

RESTful API 最佳实践(阮一峰)

RESTful 是目前最流行 API 设计规范,用于 Web 数据接口设计。 它大原则容易把握,但是细节不容易做对。...1.2 动词覆盖 有些客户端只能使用GET和POST这两种方法。服务器必须接受POST模拟其他三个方法(PUT、PATCH、DELETE)。...上面代码中,X-HTTP-Method-Override指定本次请求方法是PUT,而不是POST。 1.3 宾语必须是名词 宾语就是 API URL,是 HTTP 动词作用对象。...405 Method Not Allowed:用户已经通过身份验证,但是所用 HTTP 方法不在他权限之内。 410 Gone:所请求资源已从这个地址转移,不再可用。...三、服务器回应 3.1 不要返回纯本文 API 返回数据格式,不应该是纯文本,而应该是一个 JSON 对象,因为这样才能返回标准结构化数据。

1.3K40

Asp.net web api 知多少

REST 使用 URI 以及(GET, PUT, POST, DELETE)方法来调用Service。 比REST慢 比SOAP快 Q4. 什么是ASP.NET WEB API? Ans....但是它并不是MVC框架一部分。它是 ASP.NET 平台核心部分。能被MVC或者其他类型web应用使用。同时它也可以用作独立web服务应用程序。...WEB API 请求映射到Http动词对应action;MVC 请求直接映射到对应action name。 ASP.NET WEB API是新框架和ASP.NET框架核心一部分。...Web Api 控制器中action 要么使用HTTP action 动词 (GET, POST, PUT, DELETE) 特性标记或者以HTTP动词作为action方法名命名前缀。...ASP.NET MVC中action方法默认可以通过 HTTP GET、POST 动词调用。如果需要支持其他HTTP动词,同样需要为其定义特性。

4.8K50

如何使用Spring和Java配置构建一个REST API

请注意,WebConfig配置类没有被包含在测试中,因为没有提供其需要Servlet上下文。 5. 控制器 @Controller是RESTful API在整个Web中心组件。...未映射请求 如果Spring MVC接收到没有映射请求,则认为不允许该请求,并将405 METHOD NOT ALLOWED返回给客户端。...在向客户端返回405时,最好包括Allow HTTP头,以指定允许哪些操作。这是Spring MVC标准行为,不需要任何额外配置。 6.2....客户端错误 在客户端错误情况下,自定义异常被定义并映射到适当错误代码。 简单地从Web任何位置抛出这些异常,将确保Spring将相应状态代码映射到HTTP响应上。...附加Maven依赖项 除了标准web应用程序所需spring-web-mvc依赖之外,我们还需要为REST API配置内容编排和反编排: <dependency

2K30

从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之二 || 后端项目搭建

提醒:2.1以后,新建controller 所继承基类 ControllerBase,导致在接口返回值中,不能使用 return Json();方法,你可以使用 return Ok(xxx),效果是一样.... kestrel是默认web server, 就是通过UseKestrel()这个方法来启用....net core 调试两种方法 1、通过IIS调试 2、项目自带Kestrel web应用调式 三、注册并使用MVC 因为asp.net core 2.0使用了一个大而全metapackage...api里面没有, 那么web api就会使用默认格式. asp.net core 默认提供是json格式, 也可以配置xml等格式....方法第一个参数写上这个名字就可以了, 尽管进行了引用, 但是Post方法走完时候并不会调用GetProduct方法.

90320

Asp.Net WebApi核心对象解析(一)

方法和标头访问系统,ASP.NET Web API需要基于.NET 3.5或更高版本才可以进行开发。...对于ASP.NET Web API简单demo、安全认证、异常处理、内容协商、寄宿方式、错误处理等等,在这里就不再过于介绍,如果有时间博主会单独讲解这些内容。...在ASP.NET Web API中,一个控制器是处理HTTP请求类。控制器公共方法被称为动作方法或简单动作。当Web API框架接收到一个请求,它请求路由到一个动作。...ApiController是ValuesController类父类,是整个ASP.NET Web API核心类,继承该类可以用来创建ASP.NET Web API控制器。...四.总结:    以上是对ASP.NET Web API背景和使用方法,以及对ASP.NET Web API核心对象简要介绍,下篇会主要介绍HttpRequestMessage、HttpResponseMessage

4.4K70
领券