使用 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 上运行。
ASP.NET Web API是在.NET Framework之上构建Web API的框架。在本教程中,您将使用ASP.NET Web API创建返回产品列表的Web API。...本教程中使用的软件版本 Visual Studio 2013 Web API 2 创建一个Web API项目 在本教程中,您将使用ASP.NET Web API创建返回产品列表的Web API。...在“ 新建ASP.NET项目 ”对话框中,选择“ 空”模板。在“添加文件夹和核心参考”下,查看Web API。单击确定。 ? 注意 您还可以使用“Web API”模板创建一个Web API项目。...Web API模板使用ASP.NET MVC提供API帮助页面。我正在使用本教程的空模板,因为我想显示没有MVC的Web API。一般来说,你不需要知道ASP.NET MVC来使用Web API。...运行应用程序 按F5开始调试应用程序。网页应如下所示: ? 2 要通过ID获取产品,请输入ID并单击搜索: ? 如果您输入的ID无效,则服务器返回HTTP错误: ?
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文主要来讲解Asp.Net...Web API中错误和异常的处理,包括以下几点: 1.HttpResponseException——HTTP响应异常 2.Exception Filters——异常过滤器 3.Registering...ASP.NET Web API中的异常过滤器与Asp.Net MVC中的是极为类似的。然后,他们被声明在不同的命名空间中,且功能也是独立的。...特别强调一下,Asp.Net MVC中使用的HandleErrorAttribute类不会处理Web API控制器中抛出的异常。...下一篇文章将来讲解Web API2中新增加的一个亮点机制————属性路由,貌似很牛逼的样子。
Asp.Net Web API 导航 Asp.Net Web API第一课——入门 http://www.cnblogs.com/aehyok/p/3432158.html Asp.Net...Web API第二课——CRUD操作 http://www.cnblogs.com/aehyok/p/3434578.html Asp.Net Web API第三课——.NET客户端调用Web...如果你熟悉Asp.Net MVC,Web API的路由与Asp.Net MVC的路由是非常类似的。这主要的区别就是Web API使用的是HTTP方法,而不是URI路径来选择Action。...你也可以在Web API中使用MVC风格的路由。本文不需要有任何Asp.Net MVC的基础。...2.为了找到Action,Web API会查找HTTP方法,然后寻找一个名称以HTTP方法名开头的方法。
本文已同步到Web API2系列文章中http://www.cnblogs.com/aehyok/p/3446289.html。 ...ASP.NET Web API OData可以很容易的创建OData终结点的数据集。您可以控制哪些操作的OData终结点支持。你可以托管多个的OData终结点,沿着非OData终结点。...选择合适的模版进行创建项目 并命名为OData,点击确认后,在下一个Asp.Net 项目对话框中选择 Empty的空模版,并在以下对象添加文件夹和核心引用下:进行勾选Web API。...在Visual Studio中,按F5进行运行程序。...示例项目下载地址http://pan.baidu.com/s/1sjEWV** 本文参考地址http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api
导航 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html。...本文主要来讲解以下内容: 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html。...默认情况,Web API使用如下规则来绑定参数: 1、如果参数一个"简单"类型,那么Web API试图从URI中获取值。...2、对于复杂类型,Web API试图用媒体格式化器http://www.cnblogs.com/aehyok/p/3460164.html从消息体中来读取值。...2、然后model binder使用键值对的字典来填充model。 Web API中默认的value provider从路由数据和查询字符串中获取值。
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html Asp.Net Web API...你可以在你自己的主机上来承载一个Web API。 本教程来展示在控制台应用程序中来承载一个Web API。使用的开发工具为VS2013。...现在可以通过URI来简单测试Web API的正确性。 ?...netsh http delete urlacl url=http://+:8080/ 通过客户端应用程序来调用Web API 让我们来写一个简单的控制台应用程序来调用Web API。...本文的参考链接http://www.asp.net/web-api/overview/hosting-aspnet-web-api/self-host-a-web-api 本文已同步到Web API系列导航
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 路由就是Web API如何把...Web API支持一种新的路由类型,被叫做属性路由。顾名思义,属性路由是用属性来创建路由。在你的Web API中属性路由可以让你更好的控制URI。你能容易的创建描述资源阶层的URIs。 ...2、启用属性路由 3、添加路由属性 4、路由前缀 5、路由约束 6、可选的URI参数和默认值 7、路由名称 8、路由顺序 1、为什么使用属性路由 第一个Web API版本使用的是基于公约的路由...API版本控制 在下面的例子中,"api/v1/products"相对于"api/v2/products"将被路由到不同的控制器。...本文参考链接http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2
Open Web Interface for .NET (OWIN)在Web服务器和Web应用程序之间建立一个抽象层。...使用OWIN 自宿主 ASP.NET WebAPI 2可以参考以下2篇文章: Use OWIN to Self-Host ASP.NET Web API 2 Asp.Net Web API 2第十课—...UseWebApi 方法通过 ASP.NET Web API 框架 动态的将配置添加到 IAppBuilder。...当调用 UseWebApi 时,ASP.NET Web API 中间件组件被添加到OWIN管道中用所提供的 HTTPConfiguration 对象。...ASP.NET Web API 仍然使用现有的 HttpConfiguration 类来定义路由等。另外说明下,通过OWIN宿主ASP.NET WebAPI还可以完美的兼容Mono 3哦。
Asp.Net Web API 导航 Asp.Net Web API第一课——入门http://www.cnblogs.com/aehyok/p/3432158.html Asp.Net...Web API第二课——CRUD操作http://www.cnblogs.com/aehyok/p/3434578.html Asp.Net Web API第三课——.NET客户端调用Web.../aehyok/p/3442277.html Asp.Net Web API第五课——Web API路由 http://www.cnblogs.com/aehyok/p/3442051.html 前言... 本文描述ASP.NET Web API如何把一个HTTP请求路由到控制器的一个特定的Action上。...参数绑定是指Web API如何创建参数值。以下是参数绑定的默认规则:1.简单类型取自URI。2.复杂类型取自请求正文。
虽然ASP.NET Web API框架采用与ASP.NET MVC框架类似的管道式设计,但是ASP.NET Web API管道的核心部分(定义在程序集System.Web.Http.dll中)已经移除了对...System.Web.dll程序集的依赖,实现在ASP.NET Web API框架中的URL路由系统亦是如此。...也就是说,ASP.NET Web API核心框架的URL路由系统与ASP.NET本身的路由系统是相对独立的。...另一个同样通过字典类型表示的只读属性DataTokens,我们应该不会感到陌生,至于通过制度属性Handler返回的HttpMessageHandler对象是组成ASP.NET Web API消息处理管道的核心...Web API管道的HttpConfiguration对象,这依赖于我们对Web API的寄宿方式,这并没有定义在ASP.NET Web API的核心框架之中。
前几天在webapi项目中遇到一个问题:Controller构造函数中抛出异常时全局过滤器捕获不到,于是网搜一把写下这篇博客作为总结。...HttpResponseException(HttpStatusCode.NotImplemented); } 在抛出HttpResponseException时,可将HttpResponseMessage类型的实例作为参数以提供给客户端更多的信息...相关阅读 catch all unhandled exceptions in ASP.NET Web Api Handling Errors in Web API Using Exception Filters...and Exception Handlers Exception Handling in ASP.NET Web API Global Error Handling in ASP.NET Web API...2 Action Results in Web API 2 版权声明 本文为作者原创,版权归作者雪飞鸿所有。
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文主要来介绍在Asp.Net...Web API使用Web API的Decpendency Resolver在控制器中如何注入依赖。...例如,在Asp.Net Web API 2第二课——CRUD操作 http://www.cnblogs.com/aehyok/p/3434578.html中,我们定义了一个ProductsController...但是,在Asp.Net Web API中,你不能直接的创建一个控制器。相反,这个框架给你创建一个控制器,而且它并不知道IProductRepository 的相关信息。...本文的参考链接为http://www.asp.net/web-api/overview/extensibility/using-the-web-api-dependency-resolver 本文以同步到
PHP运行环境 web软件的运行模式(原理) ? Paste_Image.png web软件的运行模式中,总是现在客户端(浏览器端),发起一个“请求”然后,服务器端才产生反馈动作(就是“运行”程序)。...并因此而返回给浏览器一定的信息--就是所谓的应答(响答): 其中运行过程中,所涉及到的一些相关技术或软件如下: 浏览器端:html、css、js 服务器端:服务器软件(apache/IIS)、 语言(...php/java) 数据库端:mysql(免费) oracle、 mssql 其中,浏览器技术“无可替代”的,其他层面的都可替 web运行流程 1.浏览器输入地址,回车(发送请求) 2.根据规则找到对应的...web服务器。...Paste_Image.png 3.web服务器取得对应文件 4.如有需要(比如php文件),对该文件进行一定的处理(比如PHP代码执行) 5.将文件(或执行结果文件)返回给浏览器(返回应答) PHP
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文描述ASP.NET Web...在ASP.NET Web API中,媒体类型格式化器(Media-type Formatter)是一种能够做以下工作的对象: 从HTTP消息体读取CLR(公共语言运行时)对象 将CLR对象写入HTTP消息体...Web API提供了用于JSON和XML的媒体类型格式化器。...这么做的主要原因是: 将你的Web API响应限制到特定的媒体类型。例如,你可能决定只支持JSON响应,而删除XML格式化器。 用一个自定义格式化器代替默认的格式化器。...Web API导航系列 http://www.cnblogs.com/aehyok/p/3446289.html
Github源码地址是: https://github.com/solenovex/Building-asp.net-core-2-web-api-starter-template-from-scratch...本文讲的是里面的Step 2....先看看Model, 其中的Id属性, 一般是创建的时候服务器自动生成的, 所以如果客户端在进行Post(创建)的时候, 它是不会提供Id属性的....由于Put做的是完整的更新, 所以把ProducModification整个Model作为参数....model作为参数一起传到前台.两种效果如图: ?
[原文发表地址] ASP.NET MVC 4, ASP.NET Web API and ASP.NET Web Pages v2 (Razor) now all open source with contributions...它确实是快乐的一天, (字面上这一刻) 正如我在拉斯维加斯的一次会议上,刚刚点击发布按钮来发布这篇博文,以此来宣布 ASP.NET MVC 4,ASP.NET Web API,ASP.NET Web Pages...今天我们继续前进,现在 ASP.NET MVC,Web API, Web Pages将会从社区采纳贡献的程序。来自OuterCurve 的NuGet 也是开源了,现在ASP. NET的大部分都是开源。...这个时候成为开源的组件是核心.NET框架推出的独立组件,这意味着操作系统组件不依赖它们。Web Form是System.Web.dll 的一部分,而Windows Server平台依赖此dll。...Web 团队深入到了Mono。ASP.NET MVC 可以在Mono 上运行, 我们很喜欢这一点,我们期待着从Mono社区获取代码贡献。
在我个人的asp.net web api 2 基础框架(Github地址)里,我原来使用的是NLog,但是由于好奇心,我决定使用Serilog代替Nlog。...这里有一个列表,列出了所有的Sink:https://github.com/serilog/serilog/wiki/Provided-Sinks 由于我使用的是asp.net web api 2.2...// 所有Sink的最小记录级别 .Enrich.WithProperty("SourceContext", null) //加入属性SourceContext,也就运行时是调用...全局异常记录 针对asp.net web api 2,我使用了自定义的全局异常记录类:MyExceptionLogger.cs GlobalConfiguration.Configuration.Services.Add...问题 经使用测试,输出到Debug窗口和Sql Server数据库是没有问题的,但是在asp.net web api 2项目的开发环境里一直无法输出到文件,我新建立了一个web api项目也是如此,但是在控制台应用却没有问题
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文参考链接文章地址http...://www.asp.net/web-api/overview/formats-and-model-binding/model-validation-in-aspnet-web-api 当客户端发送数据给你的...Web API时,你通常希望在做其它处理之前先对数据进行验证。...Data Annotations——数据注解 在ASP.NET Web API中,你可以使用System.ComponentModel.DataAnnotations命名空间的注解属性来设置模型属性的验证规则...HttpError类在RC版(指Web API的预览版)中无效。 你可以将此过滤器全局性地运用于所有Web API控制器。
asp.net web api部署在Windows服务器上后,按照WebAPI定义的路由访问,老是出现404,但定义一个静态文件从站点访问,却又OK。... Web.Routing.UrlRoutingModule