背景: 在做一个Dicom Web Service, 当中WADO-RS中须要解析TransferSyntax, 然后就用到了fo-dicom中的DicomFile.ChangeTransferSyntax方法. 代码相似:   var df = DicomFile.Open(samplesDir + @"\User Submitted\overlays.dcm");                 df = df.ChangeTransferSyntax(DicomTransferS…
扩展Webapi中的RouteConstraint中,让DateTime类型,支持时间格式化(DateTimeFormat) 一.背景 大家在使用WebApi时,会用到DateTime为参数,类似于这样: //url: xxx/2016-09-08 [HttpGet("{date:datetime}")] public string Get(DateTime date) { return date.ToString("yyyyMMdd"); } 但是":d…
我在WebApi中使用swagger的时候发现会出现很多问题,搜索很多地方都没找到完全解决问题的方法,后面自己解决了,希望对于遇到同样问题朋友有帮助.我将先一步一步的演示项目中解决swagger遇到问题及解决方法. 首先我们新建一个api项目 图1 (默认生成项目) 图2(运行首页) 图3(默认Api列表) 图4(默认Get的Api) 以上图1-4都是默认情况下生成页面看起来不是那么好看,而且测试也不方便,下面将介绍怎么使用swagger. 使用nuget包获取Swashbule.swagger…
OData介绍:是一个查询和更新数据的Web协议.OData应用了web技术如HTTP.Atom发布协议(AtomPub)和JSON等来提供对不同应用程序,服务 和存储的信息访问.除了提供一些基本的操作(像增删改查),也提供了一些高级的操作类似过滤数据和实体的导航.OData扩展了上述的协议但是不是取代他 们.他可以被XML(ATOM)或者JSON取代但是OData的重要在于它符合REST原则.在某种意义上,它建立在'简单'的REST HTTP 服务上,并且有着清晰的目标——简化和标准化我们操作…
WebApi中启用CORS跨域访问 1.安装 Nugget包Microsoft.AspNet.WebApi.Cors This package contains the components to enable Cross-Origin Resource Sharing (CORS) in ASP.NET Web API. 此包包含启用跨域资源共享的组件(CORS)在ASP.NET Web API. 目前版本是5.2.3 依赖项: Microsoft.AspNet.WebApi.Core (>=…
AspNet.WebAPI.OData.ODataPQ实现WebAPI的分页查询服务 AspNet.WebAPI.OData.ODataPQ实现WebAPI的分页查询服务-(个人拙笔) AspNet.WebAPI.OData.ODataPQ 这是针对 Asp.net WebAPI OData 协议下,查询分页.或者是说 本人在使用Asp.Net webAPI 做服务接口时写的一个分页查询服务支持的扩展库. 它支持 MS Asp.Net WebAPI OData 协议下获取记录总数进行分页操作.…
AspNet.WebAPI.OData.ODataPQ 这是针对 Asp.net WebAPI OData 协议下,查询分页.或者是说 本人在使用Asp.Net webAPI 做服务接口时写的一个分页查询服务支持的扩展库. 它支持 MS Asp.Net WebAPI OData 协议下获取记录总数进行分页操作. 其实,分页真的简单,简单得不能再简单了.分页总数,每页大小.就够了,但是怎么都找不到 Asp.Net WebAPI OData 协议下获取总记录数的例子 或者找到例子,按照做了N遍,就是…
我在WebApi中使用swagger的时候发现会出现很多问题,搜索很多地方都没找到完全解决问题的方法,后面自己解决了,希望对于遇到同样问题朋友有帮助.我将先一步一步的演示项目中解决swagger遇到问题及解决方法. 首先我们新建一个api项目 图1 (默认生成项目) 图2(运行首页) 图3(默认Api列表) 图4(默认Get的Api) 以上图1-4都是默认情况下生成页面看起来不是那么好看,而且测试也不方便,下面将介绍怎么使用swagger. 使用nuget包获取Swashbule.swagger…
一.自动创建带帮助的WebAPI 1.首先创建项目的时候选择WebAPI,如下图所示,生成的项目会自动生成帮助文档. 2.设置调用XML文档的代码 3.设置项目注释XML文档生成目录,项目——属性——生成——勾选生成XML文档——设置目录为App_Data 4.Values控制器中的代码 /// <summary> /// Values控制器 /// </summary> public class ValuesController : ApiController { /// <…
原文链接:https://docs.microsoft.com/en-us/aspnet/web-api/overview/error-handling/exception-handling 本文介绍了在 ASP.NET Web API 中的错误和异常处理 HttpResponseException Exception Filters Registering Exception Filters HttpError HttpResponseMessage 如果一个 Web API 控制器抛出一个未…
我在WebApi中使用swagger的时候发现会出现很多问题,搜索很多地方都没找到完全解决问题的方法,后面自己解决了,希望对于遇到同样问题朋友有帮助.我将先一步一步的演示项目中解决swagger遇到问题及解决方法. 首先我们新建一个api项目 图1 (默认生成项目) 图2(运行首页) 图3(默认Api列表) 图4(默认Get的Api) 以上图1-4都是默认情况下生成页面看起来不是那么好看,而且测试也不方便,下面将介绍怎么使用swagger. 使用nuget包获取Swashbule.swagger…
首先导入Cors库,通过程序包管理控制台导入 Install-Package Microsoft.AspNet.WebApi.Cors 引用库之后,我们需要进行简单的配置. 现在WebApiConfig中进行注册,支持跨域访问 然后我们只需要在需要支持跨域访问的接口前面加上EnableCors()标签即可 第一个参数为允许访问接口的域名origins 第二个参数是设置的请求头headers. 第三个参数是设置的请求类型methods 三个参数不做要求的时候,可以设置为“*”…
net WebApi中使用swagger 我在WebApi中使用swagger的时候发现会出现很多问题,搜索很多地方都没找到完全解决问题的方法,后面自己解决了,希望对于遇到同样问题朋友有帮助.我将先一步一步的演示项目中解决swagger遇到问题及解决方法. 首先我们新建一个api项目 图1 (默认生成项目) 图2(运行首页) 图3(默认Api列表) 图4(默认Get的Api) 以上图1-4都是默认情况下生成页面看起来不是那么好看,而且测试也不方便,下面将介绍怎么使用swagger. 使用nuge…
https://stackoverflow.com/questions/31321386/autofac-web-api-get-current-scope   Unless you are using OWIN in your API, you should have your Autofac configuration setup in your WebAPI like this, which is the standard way to configure Autofac for WebA…
出处:http://www.bubuko.com/infodetail-827612.html AspNet.WebAPI.OData.ODataPQ 这是针对 Asp.net WebAPI OData 协议下,查询分页.或者是说 本人在使用Asp.Net webAPI 做服务接口时写的一个分页查询服务支持的扩展库. 它支持 MS Asp.Net WebAPI OData 协议下获取记录总数进行分页操作. 其实,分页真的简单,简单得不能再简单了.分页总数,每页大小.就够了,但是怎么都找不到 As…
mic: https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/model-validation-in-aspnet-web-api webapi中推荐我们使用Dto来创建接受实体和输出实体,对于有些传入/请求的参数是有限制的,非空,电话等等,我们可以统一进行处理这些. 需要了解: webapi接受json参数:webapi 获取json数据 数据注解:Code First 二 Dat…
什么是Cors? CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing).它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制.本文详细介绍CORS的内部机制. 一.简介 CORS需要浏览器和服务器同时支持.目前,所有浏览器都支持该功能,IE浏览器不能低于IE10. 整个CORS通信过程,都是浏览器自动完成,不需要用户参与.对于开发者来说,CORS通信与同源的AJAX通信没有差别,代…
参考地址,官网:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-2.2&tabs=visual-studio 与https://www.jianshu.com/p/349e130e40d5 当一个WebApi完成之后,书写API文档是一件非常头疼的事,因为不仅要写得清楚,能让调用接口的人看懂,又是非常耗时耗力的一件事.在之前的一篇随笔中(…
webAPI中“System.Web.Http.HttpConfiguration”不包含“EnableSystemDiagnosticsTracing”的定义 今天从 运行 WebAPI 工程的代码,结果出了下面的错. “System.Web.Http.HttpConfiguration”不包含“EnableSystemDiagnosticsTracing”的定义,并且找不到可接受类型为“System.Web.Http.HttpConfiguration”的第一个参数的扩展方法“EnableS…
Autofac前面写了那么多篇, 其实就是为了今天这一篇, Autofac在MVC和WebApi中的应用. 一.目录结构 先看一下我的目录结构吧, 搭了个非常简单的架构, IOC(web), IBLL, BLL, IDAL, DAL, Helper public interface ITestBll { void Say(List<string> msg); } 我里面都是为了实现Say方法的. public class TestBll : ITestBll { public void Say…
在MVC的WebApi中默认是没有开启Session会话支持的.需要在Global中重写Init方法来指定会话需要支持的类型 public override void Init() { PostAuthenticateRequest += MvcApplication_PostAuthenticateRequest; base.Init(); } void MvcApplication_PostAuthenticateRequest(object sender, EventArgs e) { H…
WebApi 身份验证方式 asp.net WebApi 中有三种身份验证方式 个人用户账户.用户可以在网站注册,也可以使用 google, facebook 等外部服务登录. 工作和学校账户.使用活动目录,Office 365等方式进行身份验证. Windows 身份验证.在局域网中使用. 个人用户账户方式下又又两种登录方式: 本地登录.用户在网站注册,网站保存用户的登录名和密码散列值.登录时,用户提供登录名和密码,网站使用 asp.net identity 系统进行身份验证. 社交登录.使用…
0  前言 AspNet MVC中比较重要的上下文,有如下: 核心的上下文有HttpContext(请求上下文),ControllerContext(控制器上下文) 过滤器有关有五个的上下文ActionExecutingContext,ActionExecutedContext,ResultExecutingContext,ResultExecutedContext,ExceptionContext 视图相关的上下文ViewContext 这些上下文之间的关系如下图所示 说明: 1.Contro…
工具---库程序包管理器---程序包管理器控制台:输入下面命令:  Install-Package Microsoft.AspNet.WebApi.WebHost …
相比json来说,好处是速度更快,带宽占用更小.其效果大致等于json+Gzip. 在webapi中使用protobuf的方法为: 引用nuget包 Install-Package protobuf-net 为DTO添加注解  [ProtoContract] public class Product { [ProtoMember()] public int Id { get; set; } [ProtoMember()] public string Name { get; set; } [Pro…
一.Forms认证 1.在webapi项目中启用Forms认证 Why:为什么要在WebAPI中使用Forms认证?因为其它项目使用的是Forms认证. What:什么是Forms认证?它在WebAPI中就是一个MessageHandle,具体请查找关键字“ASP.NET Forms” How:如何启动Forms认证? 最简单的是通过配置启动Forms认证: <system.web> <authentication mode="Forms"> <forms…
在MIS系统中,大部分的操作都是基本的CRUD,并且这样的Controller非常多. 为了复用代码,我们常常写一个泛型的基类. public class EntityController<T> : ApiController    {        public IQueryable<T> GetAll()        {            ...        } public T Get(int id)        {            ...        }…
webapi中post提交的数据必须是一个类,get提交的数量无所谓 多种参数get时,参数名不能相同: 在能通过c#的校验的前提下,参数名.参数数量不能全完相同 public string Get(int page, int pagesize) { return "test1"; } public string Get(int page) { return "test2"; } 这是没问题的 ) { return "test1"; } publ…
webApi中参数传递 一:无参数的get方法: 前端:    function GetNoParam() { //为了统一:我们都采用$.ajax({}) 方法; $.ajax({ url: '/api/User/GetNoParam', type: 'get', dataType: 'application/json', //application/xml webapi 返回的数据类型,客户端请求时添加在请求头中 //当无法转换成客户想要的数据时,将报错: success: function…
前段时间由于公司架构服务层向WebApi转换,就研究了OAuth在WebApi中的使用,这中间遇到了很多坑,在此记录一下OAuth的正确使用方式. 1.  OAuth是做什么的? 在网上浏览时,大家都见过这样的功能:网站A提供了第三方登录服务,比如使用新浪微博.QQ账户登录.用户使用第三方账户登陆后,第三方返回Token给网站A,当网站A调用第三方服务请求登录用户信息时需传递该Token给第三方,第三方才允许该服务请求.之后的每次请求无需再次认证,直接使用该Token即可.这就是OAuth的典型…