当我们编辑好一个WebApi应用程序后,需要对该Api接口进行调试,传统的调试办法是在方法内设置断点,然后用PostMan等http工具模拟访问进行查看WebAPI的运行情况,但这种除了效率较低还进行出现http的请求无法准确"命中"方法的难题. 下面,我给大家推荐的是---"单元测试" 如何进行单元测试呢? 首先,我们在解决方案中新建一个ASP.NET WebAPI应用程序. 如图所示. 点击确定后,选择空  并勾选WebAPI 然后填加一个Vaule控制器 该V…
开发weibapi通常会使用postman或者其他模拟http请求的工具去模拟请求.但是这些工具需要自己保存请求地址的url以及参数 每次我都是先查询wiki看参数. 看见同事再用Swashbuckle这个发现特别好用 1.安装 Install-Package Swashbuckle 2.然后F5启动项目 输入 地址 你的地址/swagger 3. 然后就可以愉快的使用了 项目地址:https://github.com/domaindrivendev/Swashbuckle ps:  可以将 c…
说明 本地 VS 开发 ASP.NET WebApi 调试运行没有问题,但发布到服务器 IIS 上就报错.结果发现是 SAP 依赖库的问题:sapnco.dll.sapnco_utils.dll. 错误信息 未能加载文件或程序集"sapnco"或它的某一个依赖项.试图加载格式不正确的程序. 异常详细信息: System.BadImageFormatException: 未能加载文件或程序集"sapnco"或它的某一个依赖项.试图加载格式不正确的程序. 解决方式 本地…
其实关于webapi和Ef service的单元测试我以前已经写过相关文章,大家可以参考: Asp.net WebAPI 单元测试 单元测试 mock EF 中DbContext 和DbSet Include 先看一下项目结构图: 这个demo非常简单,UTWebApi.Data 是纯粹的数据定义,UTWebApi.Service是我们的业务服务逻辑层,UTWebApi 是我们webapi的实现,UTWebApi.Tests就是测试项目. 数据层: BloggerDbContext的构造函数一般…
现在Asp.net webapi 运用的越来越多,其单元而是也越来越重要.一般软件开发都是多层结构,上层调用下层的接口,而各层的实现人员不同,一般大家都只写自己对应单元测试.对下层的依赖我们通过IOC来做.首先看我们的Controller定义及实现 public class ArticlesController : ApiController { private IArticleService _articleService; public ArticlesController(IArticle…
最近,他们正在做Android+Asp.net WebApi练习,通过发现visual studio debug模式启动Asp.net之后,无法响应Android寄过来http求,设置一个很好的休息不工作,google很长,我们发现如下两种解决方案 http://www.codefromjames.com/wordpress/? p=97#comment-18526 http://encosia.com/using-an-iphone-with-the-visual-studio-develop…
一.WebAPI简介 ASP.NET Web API 是一种框架,用于轻松构建可以由多种客户端(包括浏览器和移动设备)访问的 HTTP 服务.ASP.NET Web API 是一种用于在 .NET Framework 上构建 RESTful 应用程序的理想平台. 可以把WebApi看成Asp.Net项目类型中的一种,其他项目类型诸如我们熟知的WebForm项目,Windows窗体项目,控制台应用程序等. WebApi类型项目的最大优势就是,开发者再也不用担心客户端和服务器之间传输的数据的序列化和…
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. OAuth 允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据.每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的 2 小时内)内访问特定的资源(例如仅仅是某一相册中的视频).这样,OAuth 让用户可以授权第三方网站访问他们存储在另外服务提供者的某些特定信息,而非所有内容. 以…
现在的互联网应用,无论是web应用,还是移动APP,基本都需要实现非常多的数据访问接口.其实对一些轻应用来说Asp.net WebAPI是一个很快捷简单并且易于维护的后台数据接口框架.下面我们来快速构建一个基础数据操作接口. 新建项目 选择WebApi,并使用空模板(这里不想要一些其他的mvc的东西) 新建一个model 写几个属性 namespace WebApplication3.Models { public class Test { public int id { set; get; }…
前面在ASP.NET WEBAPI中集成了Client Credentials Grant与Resource Owner Password Credentials Grant两种OAUTH2模式,今天在调试Client Credentials Grant想到如下几点 建议TryGetBasicCredentials认证 validate client credentials should be stored securely (salted, hashed, iterated),参考PDF设计…
首先,请允许我说一句:shit! 因为这个问题不难,但是网上有关 ASP.NET WEBAPI的资料太少.都是PHP等等的. 我也是在看了某位大神的博客后有启发,一点点研究出来的. 来看正题! 1.微信公众平台的接入方法,无非4个参数(signature, timestamp, nonce, echostr)加1个Token(两边对应) 2.Token, timestamp, nonce字典排序后,按照字符串“SHA1”加密.得出一串字符串 tmpStr(转化为小写) 3.然后比对 tmpStr…
一.课程介绍 曾经有一位不知名的讲师说过这么一句名言: 一门RPC技术不会,那么千万万门RPC技术将都不会!在今天移动互联网的时代,作为攻城师的我们,谁不想着只写一套API就可以让我们的Web, Android APP, IOS APP, iPad APP, Hybired APP, H5 Web共用共同的逻辑呢? 希望大家学完本次分享课程能够达到使用ASP.NET WebAPI技术,并且掌握如何优雅提供对外API接口. 本次分享课程适合人群范围如下: 1).对ASP.NET WebApi技术零…
在 ASP.NET WebAPI 集成 Swagger 后,由于接口使用了 IdentityServer 做的认证,调试起来很不方便:看了下 Swashbuckle 的文档 ,是支持 OAuth2.0 的配置的,使用的简化模式(Implicit grant type),交互的流程如下: Implicit Grant Type (简化模式) 参数: response_type:表示授权类型,此处的值固定为"token",必选项. client_id:表示客户端的ID,必选项. redir…
一.课程介绍 一.王小二和他领导的第一次故事 有一天王小二和往常一下去上早班,刚吃完早餐刚一打开电脑没一会儿.王小二的领导宋大宝走到他的面前,我们现在的系统需要提供服务给其他内部业务系统,我看你平时喜欢研究一些技术,所以这次这个任务有你来负责开发,务必保证我们项目组提供的服务好看.好用,最后顺利的完成工作并上线运行.王小二顿到感觉无与伦比的器重和自豪感,于是晚上回家撸起键盘就是一顿baidu+google搜索,最后惊奇地发现了一本叫<ASP.NET WebAPI构建API接口服务实战演练>葵花…
转自:http协议调试利器fiddler使用教程http://bbs.phpchina.com/thread-207418-1-1.html Fiddler真乃神器!它和市面上常见的很多web调试器.http调试器.sniffer都不同!它的原理是在浏览器(或者其他使用http协议的进程)和服务器之间做代理角色,这样所有的通信都要经过它,尽管sniffer和这个原理是一样的,但他们工作的网络层不同. 看上图,你就明白原理了咯,它以8888端口(多么吉利的数字呀!)开本地代理服务器,并且支持htt…
实现目的:配置website端与服务端对接 1:配置好各项配置文件 2:server端编写接口客户端调用 1.1首先配置文件有log4的配置文件,有config的配置文件,还有服务列表的配置文件 首先在项目下建立Configs文件夹,里面包含log4和系统配置文件,名字可以随便取只要路径在程序中配置对就行   log4的配置方式大家可以网上百度一篇,博客园应该会有相关的文章,这里讲一下SystemConfig配置文件的配置方法 这里配置了日志和数据库的设置都是1 各项目的Webconfig文件配…
连表查询都用Left Join吧   最近看同事的代码,SQL连表查询的时候很多时候用的是Inner Join,而我觉得对我们的业务而言,99.9%都应该使用Left Join(还有0.1%我不知道在哪),我用最简单的方式来描述这两者的区别,直接看图(有点草啊): 我的做法是永远把查询主体放在左边,然后右边挨个连上要附加的信息,有则连上,没有则留null,这样思路是最清晰的. Inner Join跟这个的区别是如果附加表找不到对应ID,那么这行记录就不会出现,我在图中用红色字体说明了这个区别.(…
重温ASP.NET WebAPI(二)进阶   介绍 本文为个人对WebApi的回顾无参考价值. 本文内容: Rest和UnitOfWork 创建WebAPi的流程 IOC-Unity的使用 MEF 自定义URL Base认证和Token自定义权限 日志NLog OData的使用 Owin自宿主的使用 代码地址:https://github.com/OtherRuan/Review-Serials WebApi的几点特性 WebApi 提供了几点特性: 1. 自动匹配HTTP方法 GetMeth…
由于WebAPI本身是基于HTTP协议的,在开发过程中,我们可以使用浏览器或Fiddler等HTTP工具辅助开发.与此同时,微软也提供了一些工具方便我们调试,使得开发更加简单快捷,本文就简单的介绍一下这几个工具. 帮助文档 通过帮助文档,我们可以非常直观的看到控制器生成了那些路由,通过这些接口文档可以非常方便的指导客户端开发. 要开启帮助文档,可以参看这篇文章: http://www.asp.net/web-api/overview/creating-web-apis/creating-api-…
一.创建一个Asp.NetCore WebApi 项目 二.引入NuGet包 SwashBuckle.AspNetCore 三.在项目属性配置中设置 四.修改项目的启动文件Startup.cs 1).在ConfigureServices方法中注册Swagger中间件 public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(Compatibility…
路由其实也可以很简单-------Asp.net WebAPI学习笔记(一)   MVC也好,WebAPI也好,据我所知,有部分人是因为复杂的路由,而不想去学的.曾经见过一位程序猿,在他MVC程序中,一切皆路由,url中是完全拒绝"?"和“&”.对此,我也不好说什么,搞不好是个人风格.路由虽然重要,但其实也只是实现MVC的一种手段,并非你用的路由越多,你的url完全不使用参数,你的MVC就越纯正.说实话,笔者一开始对路由也感到恐惧,但是阅读了官方文档后,发现路由其实也可以很简单…
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. OAuth 允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据.每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的 2 小时内)内访问特定的资源(例如仅仅是某一相册中的视频).这样,OAuth 让用户可以授权第三方网站访问他们存储在另外服务提供者的某些特定信息,而非所有内容. 以…
在接着写Asp.Net WebApi核心对象解析(下篇)之前,还是一如既往的扯扯淡,元旦刚过,整个人还是处于晕的状态,一大早就来处理系统BUG,简直是坑爹(好在没让我元旦赶过来该BUG),队友挖的坑,还让我含着泪去填.改BUG前看队友写的代码,这里就不评价了,反正是边改边骂,我的嘴巴就没停过,作为开发者,我那时的心情,就不再描述了,反正是找不到一个好词形容. 新年展望,我感觉我是没啥好展望的,反正去年的展望是一个都没实现,事情该怎么做还是怎么做的,估计大多数人跟我差不多,任何事不能强求,事前努力…
生活需要自己慢慢去体验和思考,对于知识也是如此.匆匆忙忙的生活,让人不知道自己一天到晚都在干些什么,似乎每天都在忙,但又好似不知道自己到底在忙些什么.不过也无所谓,只要我们知道最后想要什么就行.不管怎么样,我们还是得学习,让自己不断的向前,这样才可以渐渐看到自己的追求,发发感叹,谁让楼主以前是写小说的呢(想看楼主以前的小说可以私聊我,以前绝对货真价实的文艺青年,可惜现在已经是屌丝了.) 不扯淡,还是来聊正经事,什么正经事勒?对于程序员来说,当然代码才是正经事了. 在我们的项目开发中,很多时候需要…
本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明博客园蜗牛原文地址,cnblogs.com/tdws   写在前面 请原谅我这个标题党,写到了第100篇随笔,说是深度优化,其实也并没有什么深度.源码也没怎么修改,如果你想使用WebApi Swagger文档,请先移步到上一篇的中度优化. 第一篇:ASP.NET WebApi 文档Swagger中度优化 http://www.cnblogs.com/tdws/p/6100126.html 第二篇:ASP.NET WebApi 文档Swash…
本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文地址:www.cnblogs.com/tdws   写在前面 在后台接口开发中,接口文档是必不可少的.在复杂的业务当中和多人对接的情况下,简单的接口文档又不能满足需求,试想你的单应用后台有几十个模块,几百甚至更多的接口,又有上百个ViewModel.怎么能让人用起来更顺手更明了?本篇介绍第一步的中度优化,下一篇将分享下一阶段的深度优化. 第一篇:ASP.NET WebApi 文档Swagger中度优化 1.上手使用 2.Controll…
Creating a Clean, Minimal-Footprint ASP.NET WebAPI Project with VS 2012 and ASP.NET MVC 4 Building Out a Clean, REST-ful Web Api Service with a Minimal Web Api Project Multitenancy Application Metadata driven (using WCF 4.0, WWF 4.0) http://www.codep…
定义 身份验证(Authentication):确定用户是谁. 授权(Authorization):确定用户能做什么,不能做什么. 身份验证 WebApi 假定身份验证发生在宿主程序称中.对于 web-hosting,宿主是 IIS.这种情况下使用 HTTP Module 进行验证. 验证时,宿主会创建一个表示安全上下文的主体对象(实现 IPrincipal),将它附加到当前线程.主体对象包含一个存储用户信息的 Identity 对象.若验证成功,Identity.IsAuthenticated…
Reveal1.0.7破解 1.官网下载最新版Reveal,拖动应用程序中,运行一次2.下载16进制编辑器"0xED" for mac(http://dl.vmall.com/c0kjm4b8fu)3.使用"0xED"打开文件"Macintosh HD ▸ 应用程序 ▸ Reveal ▸ Contents ▸ MacOS ▸ Reveal"4."0xED"菜单栏的Edit 中,Number mode 选择 Hex5.搜索tex…
Browser security prevents a web page from making AJAX requests to another domain. This restriction is called the same-origin policy, and prevents a malicious site from reading sentitive data from another site. However, sometimes you might want to let…