在internet上布署web API做的站点时,发现不能调用web api的任何action, 返回404. 经过很多的努力,也找不到原因,环境是win server 2008, IIS 75. net framework 4.5.  后来,在网上找了一个答案,试了下,可以,但还是不知道原因,因为在公司里面的服务器布署都没有问题,只是在IDc提供的虚机才出现这种问题,而且是所有的机器都是一样的问题.解决办法: 在web.config中 Adding the following to the w…
各工具所扮演的角色 ansible: 配合packer生成安装有apache的基础镜像 packer: 生成amazon AMI terraform: 以packer生成的镜像为基础,布署web服务器 下面我要放各种配置文件上来了,先来个目录树,省的凌乱... packer/ ├── bastion.json ├── playbook.yml └── roles └── httpd └── tasks └── main.yml bastion.json(这个是packer要用到的文件) [roo…
当需要在多台服务器的IIS上布署站点时,如果纯粹靠人工手动完成此任务的话,过于低效,而借助Jenkins之类的自动化工具,则可以极大提升工作效率. 以下便是Jenkins Pipeline所使用的脚本,它的DSL语法基于groovy,稍微学习一下的话,便能很快上手.在写这段脚本的时候,主要的难点是对是否已存在站点的判断.因为当执行appcmd list site /name:MyNewSite命令时,若是没有找到此站点,命令会返回非零的结果.而当Jenkins得到的是非零结果时,会认为是异常,将…
Web API 2:Action的返回类型 Web API控制器中的Action方法有如下几种返回类型: void HttpResponseMessage IHttpActionResult 其它类型 基于上面几种不同的返回类型,Web API创建HTTP响应消息的机制也不同. 返回类型 Web API创建HTTP响应消息的机制 void 返回HTTP状态码204(无内容) HttpResponseMessage 直接转换成HTTP响应消息 IHttpActionResult 调用接口的Exec…
这篇博客是上篇博客的续写,上篇博客用的是HttpClient取远程数据,用WebRequest提交,更新,删除数据.上篇本来想全文都用httpClient,可是当时无论如何也实现不了数据的提交,于是换了webRequest,觉得在心里一直是一个疙瘩. 今天下午,又看了官方文档,试了一下成功了. 说一下实现过程吧. 在实现的过程中,我发现了PostAsync和PutAsync需要的参数都是一个类型的,DeleteAsyc和GetAsync需要的参数都是一个类型的.那么这就省很多事了只用一个方法+反…
Web API控制器中的Action方法有如下几种返回类型: void HttpResponseMessage IHttpActionResult 其它类型 基于上面几种不同的返回类型,Web API创建HTTP响应消息的机制也不同. 返回类型 Web API创建HTTP响应消息的机制 void 返回HTTP状态码204(无内容) HttpResponseMessage 直接转换成HTTP响应消息 IHttpActionResult 调用接口的ExecuteAsync方法创建一个HttpResp…
对于一些返回数据非常简单的 Web API,比如我们今天遇到的“返回指定用户的未读站内短消息数”,返回数据就是一个数字,如果通过 http response body 返回数据,显得有些奢侈.何不直接通过 http headers 返回呢?节能又环保.于是今天在 ASP.NET Web API 中实际试了一下,证明是可行的. 在 Web API 服务端借助 HttpResponseMessage ,可以很轻松地实现,代码如下: public class MessagesController :…
本文所有的东西都是在dot Net Core 1.1环境+VS2017保证测试通过. 本文接着上次文章接着写的,不了解上篇文章的可能看着有点吃力.我尽量让大家都能看懂.这是上篇文章的连接http://www.cnblogs.com/qulianqing/p/6745409.html.请大家先看一下,心里大致有个了解,然后看这篇博客就容易了. 这里说一下实现的步骤:1. 新建一个ASP dot Net MVC项目,在这里我的项目名为TestAPI 2. 在项目的根目录下添加一个文件夹 名字为Mod…
一.本机脚本(基于mac) #!/bin/sh  if [ $# -lt 1 ]; then echo "deploy.sh <version number>" exit 0fi cd /Volumes/z-vm-svn/Work/WebProjectName/WebRootzip -r WebProjectName.zip . auto_scp_mzip(){    expect -c "set timeout -1;    spawn scp WebProje…
.Net Core 同 Asp.Net MVC一样有几种过滤器,这里不再赘述每个过滤器的执行顺序与作用. 在实际项目开发过程中,统一API返回值格式对前端或第三方调用将是非常必要的,在.NetCore中我们可以通过ActionFilterAttribute来进行统一返回值的封装. 在封装之前我们需要考虑下面几个问题: 1,需要对哪些结果进行封装 我目前的做法是,只对ObjectResult进行封装,其他的类型:FileResult,ContentResult,EmptyResult,Redire…
示例是调用谷歌短网址的API. 1. HttpClient方式: public static async void DoAsyncPost() { DateTime dateBegin = DateTime.Now; string url = @"https://www.googleapis.com/urlshortener/v1/url?key=AIzaSyAK2z18"; var handler = new HttpClientHandler() { AutomaticDecomp…
刚刚翻笔记翻到一些刚学SharePoint时候解决的一些很2的初级问题,本来是有些挣扎该不该把它们记录到这个blog里的?因为担心这些很初级的文章会拉低这个blog的逼格,但是我的哥们善意的提醒了我一下,说我的逼格本来就不高,于是我就放心的开写了. 其实不开玩笑的讲,做一个SharePoint Administrator很多时候不会碰到很多developer们碰到的那么高大上的问题,难的问题虽然也会经常有,但更多的都是一些琐碎的杂七杂八的问题,可人生不就是从杂七杂八中一点一点积累的过程吗?不记录…
一.问题回顾 如果application.properties文件中配置了 #项目路径 server.servlet.context-path=/pear-cache-service 则feignclient调用404 二.原因分析当项目中配置了相当于配置了server.servlet.context-path,服务的根路径,若正常的rest请求的话,请求的url就是http://192.168.4.82:2222/pear-cache-service/v1/xxx/xxx 再来看我们配的fei…
在公网上布署Web Api的时候,不能调用,返回404 在web.config中 Adding the following to the web.config file worked for me: <system.webServer> <modules> <remove name="UrlRoutingModule-4.0" /> <add name="UrlRoutingModule-4.0" type="Sy…
文档目录 本节内容: 创建动态Web Api控制器 ForAll 方法 重写 ForAll ForMethods Http 动词 WithVerb 方法 HTTP 特性 命名约定 Api 浏览器 RemoteService 特性 动态Javascript代理 AJAX 参数 单独服务脚本 Angular 集成 启用/禁用 包装结果 关于参数绑定 FormUri 和 FormBody 特性 DTO vs 简单类型 创建动态Web Api 控制器 这个文档是关于Asp.net Web Api的,如果…
Web API 是ASP.NET平台新加的一个特性,它可以简单快速地创建Web服务为HTTP客户端提供API.Web API 使用的基础库是和一般的MVC框架一样的,但Web API并不是MVC框架的一部分,微软把Web API相关的类从 System.Web.Mvc 命名空间下提取了出来放在 System.Web.Http 命名空间下.这种理念是把 Web API 作为ASP.NET 平台的核心之一,以使Web API能使用在其他的Web应用中,或作为一个独立的服务引擎.本文将先带大家理解We…
前言 曾几何时,微软基于Web服务技术给出最流行的基于XML且以扩展名为.asmx结尾的Web Service,此服务在.NET Framework中风靡一时同时也被.NET业界同仁所青睐,几年后在此基础上又扩展成为了WCF,基于SOAP协议,基于WCF标准需要一些配置上的改变.现如今,大势所趋我们只需要HTTP协议以及更加优美的JSON格式,这时将不得不出现一个更加轻量级的Web服务技术.当然,Web Service和WCF虽然有其局限性但是其仍被许多企业所广泛应用,说明一时半会还不会被淘汰,…
本文参考:http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api Http本身是个强大的平台,不仅仅应用于网页技术方面,还可以用于建立API,这些API把服务和数据包装起来.Http协议简单,灵活,随处可见.几乎任何平台都涉及到Http,很多客户端程序都会用到http服务,这些客户端包括,浏览器.移动应用,桌面应用.ASP.NET Web API是在.n…
最近一直在整合WebAPI.Winform界面.手机短信.微信公众号.企业号等功能,希望把它构建成一个大的应用平台,把我所有的产品线完美连接起来,同时也在探索.攻克更多的技术问题,并抽空写写博客,把相应的技术心得和成果进行一定的介绍,留下开拓的印记.本文主要介绍混合框架整合Web API应用过程中,分析Winform界面如何一步步对Web API的调用处理的. 1.Winform界面的应用方向 在很多场合,分布式采用Web方式构建应用,不过相对Winform来说,Web界面的体验性没有那么好,界…
OAuth(Open Authorization) 为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAuth的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAuth是安全的. 本节目录: Owin下WebAPI SelfHost 创建AccessToken 使用AccessToken Owin下WebAPI SelfHost 1.创建一个控制台项目(其实类库都可以)ApiServe…
导航 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html. 本文主要来讲解以下内容: 〇.前言 Ⅰ.Using[FromUri] Ⅱ.Using[FromBody] Ⅲ.Type Converters Ⅳ.Model Binders Ⅴ.Value Providers Ⅵ.HttpParameterBinding Ⅶ.IActionValueBinder 前言 阅读本文之前,您也可…
OAuth(Open Authorization) 为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAuth的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAuth是安全的. 本节目录: Owin下WebAPI SelfHost 创建AccessToken 使用AccessToken Owin下WebAPI SelfHost 1.创建一个控制台项目(其实类库都可以)ApiServe…
http://kb.cnblogs.com/page/521644/ 摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不同,以及如何将它们融入到一个不断演变的集成架构中.文中还将讨论 API 管理与在它之前出现的集成架构(比如 SOA 和 EAI)有何不同. 简介 几乎所有企业都有多个应用程序作为其关键数据的记录系统,而且还拥有它们赖以创业的业务功能.因此,一些组织想要不断向其企业内外更广泛的受众揭示这些操作系统中的…
http://tech.it168.com/a2012/0606/1357/000001357231_all.shtml [IT168技术]当今的软件开发中,设计软件的服务并将其通过网络对外发布,让各种客户端去使用服务已经是十分普遍的做法.就.NET而言,目前提供了Remoting,WebService和WCF服务,这都能开发出功能十分强大的服务.然而,越来越多的互联网应用,希望将服务只是通过HTTP发布出去,而不是使用复杂的SOAP协议.为了解决这个问题,ASP.NET WebAPI就出现了.…
ASP.NET Web API 入门大杂烩 创建Web API解决方案,命名为VCoinWebApi,并且创建了同名的Project,然后,创建一个Empty Project:Models,创建一个WPF Application Project:VCoinWebTester 在Models项目下,添加User类.User类的代码如下: namespace Models { public class User { public long ID { get; set; } public string…
摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不同,以及如何将它们融入到一个不断演变的集成架构中.文中还将讨论 API 管理与在它之前出现的集成架构(比如 SOA 和 EAI)有何不同. 简介 几乎所有企业都有多个应用程序作为其关键数据的记录系统,而且还拥有它们赖以创业的业务功能.因此,一些组织想要不断向其企业内外更广泛的受众揭示这些操作系统中的宝贵资产,我们对此已司空见惯.但是,这需要时间.在本教程中,我们将介绍…
在Umbraco平台上开发过程中,我用WebApi返回JSON result给前端 前端使用React调用这个web api来获取JSON result 我写的web api方法是返回JSON 类型的string, 代码如下 [HttpGet] [HttpQueryStringFilter("queryStrings")] public string GetPDFSearchResults(FormDataCollection queryStrings) { "; "…
Parameter Binding in ASP.NET Web API(参数绑定) 导航 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html. 本文主要来讲解以下内容: 〇.前言 Ⅰ.Using[FromUri] Ⅱ.Using[FromBody] Ⅲ.Type Converters Ⅳ.Model Binders Ⅴ.Value Providers Ⅵ.HttpParamete…
Asp.Net Web API不可以需要IIS.可以自己在主机上承载一个Web API 创建WebAPI.Server项目 创建一个控制器项目的服务端 在Nuget中添加Microsoft.AspNet.WebApi.SelfHost 创建Model与Controller 首先在服务端添加一个Product类型 namespace WebAPI.Server.Models { public class Product { public int Id { get; set; } public st…
Routing Tables路由表 在Asp.Net Web API中,一个控制器就是一个处理HTTP请求的类,控制器的public方法就被叫做action方法或简单的Action.当Web API接收到一个请求的时候,它将这个请求路由到一个Action. 注意:Web API的路由与Asp.Net MVC的路由是非常相似的.主要区别就是Web API使用的是HTTP方法,而不是URI路径来选择Action 为了确定哪个Action被调用,这个框架使用了一个注册表.Visual Studio的W…