使用 OWIN 作为 ASP.NET Web API 的宿主 ASP.NET Web API 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动 设备)的 HTTP 服务。...ASP.NET Web API 是一种用于在 .NET Framework 上构建 RESTful 应用程序的理想平台。...ASP.NET Web API 是 OWIN 兼容的, 因此可以在 OWIN 服务器上运行。...(int id) { } } 在 OWIN 环境下运行 Web API OWIN 目前有兩個比较成熟的服务器: Katana 微软的 OWIN 服务器, 如果没有指定 OWIN 服务器, 则作为默认的...使用 Nowin 服务器运行 OWIN 兼容的应用可以在任何 OWIN 服务器上运行, 下面就看看如何在 Nowin 上运行。
开发人员倾向在服务中提供所有支持的方法的静态描述,从正式约定(如 SOAP 服务中的 Web 服务描述语言 (WSDL))到非超媒体 Web API 中的简单文档都是如此。...现在我们来了解一下如何在使用 ASP.NET Web API 的生产环境中实际实施这些原理,并使用此框架提供的所有可扩展性和功能。 在内核级别,ASP.NET Web API 支持格式化程序的概念。...幸运的是,这种不一致性在 ASP.NET Web API 中已通过引入格式化程序得到解决。...此步骤几乎可以用与在 ASP.NET 或 ASP.NET Web API 自托管中相同的方式来实现,只是所需的 HttpConfiguration 实现不同。...最近 9 年中,Cibraro 帮助众多 Microsoft 团队开发了一些工具和框架,以便于使用 Web 服务、Windows Communication Foundation、ASP.NET 和 Windows
V1表示版本,可以使用这种方式进行版本控制,也可以使用其他方式。...config.Count().Filter().OrderBy().Expand().Select().MaxTop(null);这样配置使Odata操作符可用(Web Api2的旧版本不必如此设置)。...使用ODataConventionModelBuilder.Namespace定义命名空间,他是请求URI的一部分。...true)] ,[ODataFormatting],[ODataRouting]这三个特性,由于[ApiExplorerSettings(IgnoreApi = true)] 的影响,在System.Web.Http.Description.ApiDescription...使用EntityCollectionConfiguration.Action定义的控制器方法可以通过body体传参; 使用EntityCollectionConfiguration
今天给大家介绍下,我是如何在这个项目中利用 Whistle 来实现 API 服务网关的(还不知道 Whistle ?看这里)。...CORS 合法化配置 当浏览器向与当前页面域名不同的域名发起 API 请求时,会触发 CORS 策略,以确保请求是被目标服务所允许的。...),让 API 服务无法判断出请求的发起方是否为浏览器(注意:Jira Rest API 会针对浏览器开启 XSRF Check)。...同域网关 事实上,Whistle 作为代理网关,可以更加方便的绕过 CORS 策略限制。 我们只需为我们的静态页面和 API 服务设置一个相同的自定义域名,然后全部交给 Whistle 即可。...把 Whistle 作为 API 服务网关,而不需要使用 Node 或 Nginx 服务来转发,是不是既简单又方便?赶紧试试吧:)
使用Swagger记录ASP.NET Web API 原文作者:Rob Sanders 原文地址:https://dzone.com/articles/documenting-a-aspnet-web-api-with-swagger...在本文中,我将介绍一些可以为ASP.NET Web API生成文档的方法。...除非您从未生成过Web API网站,否则您将会意识到,默认模板已经包含了为您可能实现的API 生成文档的功能,其中的一个示例位于authme.ws。...入门 没有什么比一对夫妇的文章更多的已写入有关如何生成使用扬鞭用于ASP.NET的Web API文档(这里面的NuGet包称为Swashbuckle,你可以轻松地集成),但我需要的东西少动-其实,我需要生成表示我们提升到生产...你需要什么 您需要能够生成可以在IIS或IIS Express中启动的Web API站点。
在本文中,我将介绍一些可以为ASP.NET Web API生成文档的方法。在开发Web API的过程中你会发现,默认模板已经包含了为可实现的API 生成文档的功能。...入门 有关如何使用Swagger生成ASP.NET的Web API文档的文章已经有很多了(通过一个叫做Swashbuckle的NuGet包,你可以轻松地对此进行集成),但我需要不那么“动态”的东西——因为实际上我需要...幸运的是,有一个工具集很好地支持了Swagger,叫做Swagger Codegen,它可以生成客户端代码来使用API,即生成静态HTML的能力。...所需进行的准备 首先你要有一个可以在IIS或IIS Express中启动的Web API站点。...理想情况下,你要做的是将前面提到的Swashbuckle NuGet包集成到你现有的(或新建立的)Web API项目中。
IApiExplorer是一个新的抽象层,它可以帮助获取ASP.NET Web API的结构描述。伴随该接口的还有一个默认实现——APIExplorer。...使用该API可以完成的工作有: 产生文档 创建机器可读的元数据 创建一个测试客户端 微软员工Yao发表了两篇文章(这里和这里)分别用于展示如何使用API打印Web API列表以及如何创建帮助文档。...不过你可以使用我们在Codeplex上的安装包试试看。Henrik写了一篇关于如何使用这些包的很不错的文章。...ASP.NET Web API是ASP.NET MVC 4(目前处于Beta阶段) 中的一款新框架,它可以让使用.NET Framework构建RESTful Web服务的过程变得简单。...查看英文原文:Use IAPIExplorer To List Your ASP.NET Web APIs 查看中文原文:使用IAPIExplorer列举ASP.NET Web API
我们为不同的目的开发了很多web服务,经过授权的用户就可以访问和使用这些web服务。soapUI 是一个强大的测试web服务的工具,他不仅可以测试SOAP服务,他也支持测试RESTful服务。...在这里我将解释如何使用 SOAP UI 测试ASP.NET Web API。...下面我们用Getting Started with ASP.NET Web API 2 的服务进行测试....使用 soapUI 测试 REST 服务 Test Your ASP.NET WebService using SoapUI Teaching ASP.NET Web API to WADL Teaching...ASP.NET Web API to WADL–via NuGet
提供一种思路,临时启动一个 nginx 容器作为服务器来开发前端应用,nginx 作为静态页面发布器,并可以代理远端 API。...php,python 等脚本类的 web 开发也可以使用这个方法,只需要更换相应的 server 镜像作为容器运行的基础环境。 前提条件 安装了 docker:安装方法略。...这个例子使用了 python 作为脚本语言。 以下脚本我在 mac 中运行通过。...如果远端服务器是本机,需要从容器内部访问宿主机资源,localhost 是不好使的,请使用域名:host.docker.internal nginx 的配置如下: server { listen...推而广之,这种方法对于所有脚本类的 Web 开发都有效,我们无需安装任何环境,只需要临时启动一个 docker 容器就好,处女座程序员可以试试这种方法。
扯淡 随着app应用的崛起,后端服务开发的也越来越多,除了很多优秀的nodejs框架之外,微软当然也会在这个方面提供更便捷的开发方式。...扯淡到这就完了,下来就聊聊今天的主角web api,web api 是mvc4.0之后出现的一种技术吧,他的创建和带来的便利我就不介绍了。这边文章主要聊聊,我对web api开发的一些理解。...就要封装成对象进行数据专递了,比如:public void Post([FromBody]string name,[FromBody]int id)是取不到值的,要把id和name封装成Userinfo对象,使用...话题二:post传递多个不同对象的参数 已经post请求需要使用[FromBody]特性修饰符接收,但是FromBody只能接收单个参数,如果需要传递不同对象的输出就比较麻烦了,新建实体对象成本太大,也不能完全适应适应的类型...,这个时候需要使用JObject来处理,代码如下: jQuery.post("/Api/Userinfo/Add/", { mobile: "18049579804", pwd: "123456
{ return e.Message; } } #endregion #region 微信服务器消息接收及处理.../// /// 微信后台验证地址(使用Get),微信后台的“接口配置信息”的Url填写如:http://weixin.senparc.com/weixin...+ "如果你在浏览器中看到这句话,说明此地址可以被作为微信公众账号后台的Url,请注意保持Token一致。").../// v0.8之后的版本可以结合Senparc.Weixin.MP.MvcExtension扩展包,使用WeixinResult,见MiniPost方法。...* 收到重复消息通常是因为微信服务器没有及时收到响应,会持续发送2-5条不等的相同内容的RequestMessage*/ messageHandler.OmitRepeatedMessage
Routing Tables路由表 在Asp.Net Web API中,一个控制器就是一个处理HTTP请求的类,控制器的public方法就被叫做action方法或简单的Action。...当Web API接收到一个请求的时候,它将这个请求路由到一个Action。 注意:Web API的路由与Asp.Net MVC的路由是非常相似的。...category=category 然而,以下URI就不匹配,因为它缺少“api”字段 /product/1 注意:在路由中使用“api”的原因是为了避免与ASP.NET MVC... 在默认的路由模板中,这个Web API使用HTTP方法去选择Action。...这种风格的路由类似于Asp.Net MVC,而且可能与RPC式的API接近。 你也可以通过使用ActionName注解属性来覆盖动作名。
什么是Web API HTTP不仅仅服务于Web Pages。他也是一个创建展示服务和数据的API的强大平台。HTTP是简单的,灵活的,无处不在的。...你能够想象到几乎任何的平台都会有HTTP服务库。HTTP服务可以涉及到范围广泛的客户端,包括浏览器,各种移动设备和传统桌面应用程序。...Web API 与MVC 的区别 1.使用区别 MVC主要用于Web站点开发,它在后端实现了一套完整的MVC开发框架,能提供方便的页面开发,提供给了后端Html构成,用户可以方便的开发出带页面的站点... Web API主要用于做开放API接口,更抽象,更不注重VIew生成 2.自身实现区别 两种框架主要使在Asp.Net的基础上进行改造,主要是对...而Web API除了扩展前者外,另外写出了一套独立的,独立于Asp.Net的消息处理管道,就像借鉴了原来的房子模型,重新设计出了另一套别墅,这也很好的解释了为什么Web API可以寄宿在不同的宿主上(宿主本质就是利用一个具体的一个用程序为
创建一个Web API项目 第一步,创建以下项目 ? 当然,你也可以创建一个Web API项目,利用 Web API模板,Web API模板使用 ASP.Net MVC提供API的帮助页。...注意,如果你使用了ASP.NET MVC 已熟悉控制器,Web API控制器类似于MVC控制器,但是继承ApiController,而不是Controller类 ?...位置:当服务端创建一个资源时,它应该在响应的Location标头中包含这个资源的URI。 ASP.NET Web API使它容易操作HTTP响应消息。...在这种情况下,DeleteProduct方法具有void返回类型,因此ASP.NET Web API自动转换此状态代码204(无内容) 运行测试 方法创建完毕后我们就可以运行服务端进行测试了 ? ...上述测试我们发现我们的路由只是“api/{controler}”就成功返回了GetProducts方法中的数据,这也是ASP.NET Web API与ASP.NET MVC 之间的区别。
路由调试 RouteDebugger 是调试 ASP.NET MVC 路由的一个好的工具,在ASP.NET WEB API中相应的有 WebApiRouteDebugger ,Nuget安装 Install-Package...是由于现在的WebPages 与GAC中的版本冲突(MS已经把webpages 剥离了.NET Framework ),只需要在webconfig中指定使用的版本即可 <dependentAssembly...Refer: http://www.asp.net/web-api/overview/creating-web-apis/creating-api-help-pages http://blogs.msdn.com.../b/webdev/archive/2013/04/04/debugging-asp-net-web-api-with-route-debugger.aspx http://www.asp.net/web-api.../overview/testing-and-debugging/tracing-in-aspnet-web-api
ASP.NET Web API 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动设备)的 HTTP 服务。...ASP.NET Web API 是一种用于在 .NET Framework 上构建 RESTful 应用程序的理想平台。 这是 MSDN 给出的官方定义!...实际开发中,我们可以轻松的使用 WebAPI 配合 Routing 路由和 EF 框架来轻松的实现一个 RESTful 的 API 并将其作为软件的后端。...ASP.NET Web API 可以自动序列化到 JSON、 XML 或某种其他格式,然后写入 HTTP 响应消息的正文序列化的数据。 只要客户端可以读取的序列化格式,它可以反序列化对象。...使用 POSTMAN 测试 ?
Web API 的开发类似于 ASP.NET MVC 中控制器的开发,但是相对于直接使用 ASP.NET MVC 来返回 Json 对象的方式而言,Web API 封装了数据的序列化、反序列化,接口、实现都更加简单...简单地说,如果要向浏览器、移动端提供 Json 数据格式的 API,则应该首选 Web API 作为通信框架。 以下,我列出了在当前使用 Web API 开发系统时,遇到的几个知识点或问题。...一般情况下,我们会使用 Json 序列化。跟 ASP.NET MVC 的 Json 序列化不同的是,Web API 使用了 Newtonsoft.Json 框架来进行序列化。...在面向服务的架构中,往往不会直接把底层的实体公布出来,让客户端直接进行 CRU 操作;而是公布一些粗粒度的 RPC 形式的服务操作。要使用 Web API 框架,我们需要修改默认的配置。...username=hqf@qq.com&password=dsd 关于 POST 参数绑定 Web API 相对于 ASP.NET MVC,使用了新的参数绑定类。
在本文中,我将介绍一些可以为ASP.NET Web API生成文档的方法。...除非你从未生成过Web API网站,否则你将会意识到,默认模板已经包含了为你可能实现的API 生成文档的功能,其中的一个示例位于authme.ws。...入门 关于如何使用Swagger为ASP.NET Web API生成文档已经写了不止两篇文章(还有一个叫做Swashbuckle的NuGet包,你可以很容易地集成它),但是我需要一些动态的东西 - 事实上...你需要什么 你需要能够在IIS或IIS Express中可以启动的Web API站点。...理想情况下,你要做的是将前面提到的Swashbuckle NuGet包集成到你现有的(或新的)Web API项目中。
Asp.Net Web API不可以需要IIS。可以自己在主机上承载一个Web API 创建WebAPI.Server项目 创建一个控制器项目的服务端 ? ...API 在Program类中添加如下引用 using System.Http; using System.Web.Http.SelfHost; 然后再添加如下代码 using System; using...2.使用Netsh.exe给与你的账号权限去保留这个URL。...若要使用Netsh.exe,以管理员身份打开命令提示框,并键入以下命令: netsh http add urlacl url=http://+:7777/ user=machine\username 其中...当你使用完自托管的时候,最好是确定删除这个保留的URL。 netsh http delete urlacl url=http://+:7777/ 然后启动服务端 ?
HttpResponseException-----HTTP响应异常 如果Web API控制器抛出一个未捕捉的异常,会发生什么呢?...在默认情况下,大多数异常都会转换为一个带有状态码500的内部服务器错误的HTTP响应。 这个HTTPResponseException类型是一个特殊的类型。...注意:ASP.NET Web API中的异常过滤器与ASP.NET MVC中是及其相似的。然后,它们被声明在不用的命名空间下,且功能也是独立的。...特别强调以下,ASP.NET MVC中使用的HandlerErrorFilterAttribute不会处理Web API控制器抛出的异常。 ...这个集合中的所有异常过滤器会应用于任何Web API控制器Action public class WebApiApplication : System.Web.HttpApplication {