asp.net web api部署在Windows服务器上后,按照WebAPI定义的路由访问,老是出现404,但定义一个静态文件从站点访问,却又OK。... <add name="UrlRoutingModule-4.0" type="System.<em>Web</em>.Routing.UrlRoutingModule
虽然通过Visual Studio向导在ASP.NET Web API项目中创建的 Controller类型默认派生与抽象类型ApiController,但是ASP.NET Web API框架本身只要求它实现...[本文已经同步到《How ASP.NET Web API Works?》]...HttpController可以视为对ASP.NET Web API的消息处理管道的延续。...通过“ASP.NET Web API标准的“管道式”设计”的介绍我们知道位于管道末端的是一个HttpRoutingDispatcher对象。...在默认情况下,ASP.NET Web API的HttpController激活系统总是创建一个新的HttpController来处理每一个请求。
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会匹配到请求匹配的多个操作错误 ?...这种风格的路由类似于Asp.Net MVC,而且可能与RPC式的API接近。 你也可以通过使用ActionName注解属性来覆盖动作名。
在Linux/Unix上架设ASP.NET WEB服务器,有两个可选方式,一种是Mono+XSP,一种是Mono+Jexus,其它的方式,比如 Apache+mod_mono、Nginx+FastCgi...今天将一篇介绍Jexus的文章发布在InfoQ:LINUX ASP.NET WEB服务器:JEXUS,Jexus for linux 有如下特点: 支持多种操作系统:Jexus最初的设计目标是“跨平台的...ASP.NET WEB服务器”,由于在Windows系统上,IIS已经是ASP.NET的优秀平台,所以,当前的Jexus以支持Linux和FreeBSD等非Windows系统为主要设计目标。...WEB服务器。...,处理静态文件的速度是V4.0版的1.2-1.5倍,是3.x版的1.8-2.3倍,压力测试表明,V4.1整体素质表现突出,是一款优秀的ASP.NET WEB服务器。
Web API 的开发类似于 ASP.NET MVC 中控制器的开发,但是相对于直接使用 ASP.NET MVC 来返回 Json 对象的方式而言,Web API 封装了数据的序列化、反序列化,接口、实现都更加简单...跟 ASP.NET MVC 的 Json 序列化不同的是,Web API 使用了 Newtonsoft.Json 框架来进行序列化。...Action 匹配 Web API 框架默认是基于 Restful 架构模式的,与 ASP.NET MVC 有区别的是,它会根据 Http 请求的 HttpMethod(Get、Post、Put、Delete...username=hqf@qq.com&password=dsd 关于 POST 参数绑定 Web API 相对于 ASP.NET MVC,使用了新的参数绑定类。.../cibrax/archive/2012/08/10/binding-form-data-in-asp-net-web-api.aspx 不错的示例代码 MSDN 上有一个比较全面的示例代码:
ASP.NET Web API 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动设备)的 HTTP 服务。...ASP.NET Web API 是一种用于在 .NET Framework 上构建 RESTful 应用程序的理想平台。 这是 MSDN 给出的官方定义!...由于REST仅仅是一种架构风格, 所以它是与具体的技术平台无关的, 所以采用 REST架构的应用未必一定建立在Web之上。...在 VS 中创建一个 空项目,并为其添加 Web API。 添加模型 模型是表示应用程序中的数据的对象。...ASP.NET Web API 可以自动序列化到 JSON、 XML 或某种其他格式,然后写入 HTTP 响应消息的正文序列化的数据。 只要客户端可以读取的序列化格式,它可以反序列化对象。
路由调试 RouteDebugger 是调试 ASP.NET MVC 路由的一个好的工具,在ASP.NET WEB API中相应的有 WebApiRouteDebugger ,Nuget安装 Install-Package...(在上下文“Default”中的“C:\Windows \Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Razor \v4.0_2.0.0.0_...(在上下文“Default”中的“C:\Windows \Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\821cf8a9...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
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 {
Asp.Net Web API不可以需要IIS。可以自己在主机上承载一个Web API 创建WebAPI.Server项目 创建一个控制器项目的服务端 ? ...System.Web.Http; using System.Web.Http.SelfHost; namespace WebAPI.Server { class Program {...默认情况下,侦听一个特殊的HTTP URL是需要管理员权限的。...2.使用Netsh.exe给与你的账号权限去保留这个URL。...当你使用完自托管的时候,最好是确定删除这个保留的URL。 netsh http delete urlacl url=http://+:7777/ 然后启动服务端 ?
创建一个Web API项目 第一步,创建以下项目 ? 当然,你也可以创建一个Web API项目,利用 Web API模板,Web API模板使用 ASP.Net MVC提供API的帮助页。...ASP.NET Web API 可以自动序列化你的模型到JSON,XML或一些其它格式,然后把已序列化的数据写入到HTTP响应消息的正文。只要客户端可以读取序列化的数据,那么它同样可以反序列这个对象。...,分开手机我们的服务是一个好主意,这种方式,我们可以改变后备存储,而不用修改服务器的实现,这种模型的设计叫做仓储模型,首先建立一个接口 namespace WebAPIDemo.Models {...默认情况下,ASP.NET Web API框架从路由获取简单的参数类型,从请求正文获取复杂的类型。 第五个方法:删除产品,在控制器添加代码如下。...上述测试我们发现我们的路由只是“api/{controler}”就成功返回了GetProducts方法中的数据,这也是ASP.NET Web API与ASP.NET MVC 之间的区别。
什么是Web API HTTP不仅仅服务于Web Pages。他也是一个创建展示服务和数据的API的强大平台。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 Host,Self Host方式,这与WCF相似。
大家好,又见面了,我是你们的朋友全栈君。 ASP NET MVC Web开发教程 使用 ASP NET MVC 和 C# 快速学习 Web 开发。从绝对基础到忍者!...像专业人士一样学习 C# 和 MVC 课程英文名:Complete ASP NET MVC Web Development – Newbie to Ninja!...pwd=7evf 课程介绍:https://www.aihorizon.cn/129 课程内容 学习面向对象编程 了解 MVC 是什么以及如何使用它 学习经验丰富的企业开发人员的模式和技术 了解顶级付费开发人员使用的模式...创建更易于管理和重用的更简洁的代码 编写错误更少的代码 – 意味着您工作得更快并建立更好的声誉 更轻松地构建代码,将其拆分为可管理的块 使用抽象和接口使代码更灵活 在多个项目中轻松重用现有代码 计算机字幕视频教程网...所有视频教程均包含中英双语字幕、练习源码及配套的补充资料。
大家好,又见面了,我是你们的朋友全栈君。 Web服务器也称为WWW (WORLD WIDE WEB)服务器、HTTP服务器,其主要功能是提供网上信息浏览服务。...下面对常见的WEB服务器进行简单介绍,后续对其中一些主要的服务器进行实际环境搭建。 1. Apache服务器 Apache仍然是世界上用得最多的Web服务器,市场占有率达60%左右。...IIS是允许在公共Intranet或Internet上发布信息的Web服务器。它是目前最流行的Web服务器产品,很多著名的网站都是建立在IIS平台上的。...Boa服务器 BOA 服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。...不过就Jigsaw 2.0版本而言,它的功能还是超过了目前Web服务器的平均水平。最重要的是,它体现了未来HTTP协议和基于对象的Web服务器技术的发展。
asp+access web server调试报错类似下图image.pngimage.png上面这个case,其他所有操作都搞了,就是没加iis用户权限,加上就好了asp父路径、应用程序池32位、temp...目录是有everyone权限、iis用户权限(不同版本的系统,iis用户的名称可能不同)以上关键几点基本涵盖asp调试中大部分问题2003的IIS一般需要加入users、network service、...iis_wpg权限2008R2一般加这些用户的权限Users;NETWORK SERVICE;IIS_IUSRS;Everyone;Authenticated Users≥2012R2一般加这些用户的权限...Users;NETWORK SERVICE;IIS_IUSRS;IUSR;Everyone;Authenticated Users还有,c:\windows\temp文件夹的也得增加上述权限外加everyone...的权限。
1 ASP.NET MVC 是微软提供的以MVC模式为基础的ASP.NET Web应用程序开发框架。...2 ASP.NET Webform 在 ASP.NET 框架下的一种基于事件模型的开发模式,有开发速度快,容易上手等特点。...3 两者的区别和各自优缺点 ASP.NET 作为微软的Web程序开发框架,MVC与Webform 是不同时期的开发模式, 在ASP.NET 运行处理原理 基本一致....同时控件的ViewState 增加了网站服务器的传输量,一定程度上影响程序的效率。 MVC 优点 :易于扩展,易于单元测试,易于测试驱动开发。MVC中的一个路由的存在,可以做一些链接伪静态的处理。...2 上下文 请求对象: Context Session Request Response Cookie 基本一致 3 配置文件基本一致,但不通用 4 部分服务器控件并不是不可以在MVC中使用 5 在ASP.NET
ASP.NET Web API提供了一个独立于执行环境的抽象化的HTTP请求处理管道,而ASP.NET Web API自身的路由系统也不依赖于ASP.NET路由系统,所以它可以采用不同的寄宿方式运行于不同的应用程序中...如果采用Web Host的方式将定义Web API寄宿于一个Web应用之中,其实最终的URL路由还是通过ASP.NET本身的路由系统完成的,那么两个路由系统之间是如何衔接在一起的呢?。...实现在HostedHttpRoute之中的核心路由功能基本上是通过这个Route对象完成的,所以我们才说Web Host下的ASP.NET Web API的URL路由最终还是利用ASP.NET自身的路由系统实现的...Web API路由系统在Web Host情况下是如何利用ASP.NET自身的路有系统实现URL路由的:ASP.NET Web API路由系统中的HostedHttpRoute对象通过创建ASP.NET...Web API在Web Host模式下依然是借助ASP.NET自身的路由系统实现URL路由,那么意味着当我们针对ASP.NET Web API进行路由映射的时候必须在ASP.NET路由系统的全局路由表中添加对一个继承自抽象类
扯淡 随着app应用的崛起,后端服务开发的也越来越多,除了很多优秀的nodejs框架之外,微软当然也会在这个方面提供更便捷的开发方式。...这是微软一贯的作风,如果从开发的便捷性来说的话微软是当之无愧的老大哥,只是鱼和熊掌不能兼得,各种语法糖带来开发的便利势必会牺牲程序运行的性能,这是无可避免的,通用和效率永远是需要程序员去取舍的话题。...扯淡到这就完了,下来就聊聊今天的主角web api,web api 是mvc4.0之后出现的一种技术吧,他的创建和带来的便利我就不介绍了。这边文章主要聊聊,我对web api开发的一些理解。...当然还有一种方式,是没有关键字修饰的方法,比如:FindUser这种情况下,这种请求下默认是Post请求的Get请求就会报405的错。...话题四:返回json格式的结果 这个会简单设置返回值为Net自带的Json格式即可,可以返回JObject或JArray都是可以用ajax接收json对象的。
在.NET中,早期是用Remoting/Webservice来处理所有程序间的通信,从.NET 3.0开始使用WCF统一了通信模型,ASP.NET MVC4的推出,形成大的One ASP.NET战略,增加了...$filter=MeetingDate eq datetime’2013-01-17′ 在项目中启用OData查询,首先在项目加入Web API的OData支持,通过Nuget 查找ASP.NET Web.../web-api/overview/odata-support-in-aspnet-web-api Limiting OData Query Options: http://www.asp.net/web-api...OData Queries in ASP.NET Web API:http://www.codeguru.com/csharp/.net/working-with-odata-queries-in-asp.net-web-api.htm...ASP.Net Web API Tutorial – Part 1 示例代码下载: http://files.cnblogs.com/shanyou/WebApiOData.zip
这篇文章主要是介绍ASP.NET Web API的处理架构:当一个HTTP请求到达直到产生一个请求的过程。...ASP.NET Web API 的处理架构图如下,主要有三层组成:宿主(hosting),消息处理管道(message handler pipeline)和控制器处理(controller handling...宿主(Hosting) 底层负责Web API的宿主,Web API之间的接口和HTTP 处理引擎。一句话,这一层负责创建HttpRequestMessage实例。然后把他们推入到上层的消息处理管道。...目前在ASP.NET Web API里头已经内建的宿主选项有2个:self-hosting 和 web hosting, web hosting也就是宿主在IIS的ASP.net 的处理管道里,Self-hosting...消息处理管道(Message Handler Pipeline) 中间层是 message handler pipeline,这一部分就是 WCF Web API 的内容了,通过 HttpServer
的跨平台ASP.NET Core web服务器,libuv是一个跨平台的异步I/O库。...ASP.NET Core模板项目使用Kestrel作为默认的web服务器。...一个反向代理服务器接收来自网络的HTTP请求并且在经过一些初步处理后将请求传递到Kestrel服务器。 ? 出于安全性的理由,反向代理常常被edge deployments所采用。...即使不需要反向代理服务器,使用它也可以简化负载均衡和SSL设置 -- 只要你的反向代理服务器需要SSL证书,并且该服务器可以和你的应用在内部网中通过普通HTTP进行通信。...如果你需要为不同的ASP.NET Core应用在同一端口上绑定不同的主机名,请使用WebListener或者诸如IIS,Nginx或Apache这样的反向代理服务器。
领取专属 10元无门槛券
手把手带您无忧上云