netCore webapi Uow实现方式】的更多相关文章

参照 http://www.cnblogs.com/GreedyL/p/7474368.html 思路: 1.创建ActionFilter拦截请求,在拦截器中注入IUOW,IUOW里面注入IDbContext,借助EF的commit自带的事务来实现事务处理 2.Action中调取一组业务服务层IService,IService里面注入IRepository(IRepository里面注入了IDbContext) 3.事务实现的关键在于IUOW与Irepository中的IdbContext为同一…
.NetCore WebApi结构及前端访问方式(Ajax方式,fetch方式,axios方式) //访问的地址api/控制器名称/方法名称;action一般会省略 [Route("api/[controller]/[action]")] public class TestController : ControllerBase { //[Route]与[HttpPost]内都设置了参数相当于这个方法有两个请求地址 //两个地址都是接在类上定义的地址后面使用 [Route("i…
如何建 .netcore webapi 项目这个就不说了,这个都没有没必要看下去. 我这里是.netcore 2.0,虽然没测过1.0的,但想来差不多. 1.Nuget Packages安装,使用程序包管理器控制台,安装命令:Install-Package Swashbuckle.AspNetCore -Pre 或者搜索安装  Swashbuckle.AspNetCore.Swagger 2.生成项目xml文档,多项目的情况下 3.配置Startup.cs.为了直观,我把整个类贴这里了,具体功能…
在前后端分离的大环境下,API接口文档成为了前后端交流的一个重点.Swagger让开发人员摆脱了写接口文档的痛苦. 官方网址:https://swagger.io/ 在.Net Core WebApi中通过简单配置即可使用这一强大的功能. 1.新建一个API的项目 选择 API 项目 2.引入Swagger包..Net Core 中支持两个分别为Swashbuckle和NSwag.两者的配置大同小异.这里以Swashbuckle为例. 方式1:选择工具——Nuget包管理——管理解决方案的Nug…
1.WebAPI新增日志过滤器or中间件后Action读取到的请求Body为空问题 案例: 自定义了一个中间件,用于记录每次访问webapi的入参,以及引用了Swagger. 先看下面这段代码: public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseHs…
1. 什么是JWT? JWT是一种用于双方之间传递安全信息的简洁的.URL安全的表述性声明规范.JWT作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以Json对象的形式安全的传递信息.因为数字签名的存在,这些信息是可信的,JWT可以使用HMAC算法或者是RSA的公私秘钥对进行签名.简洁(Compact): 可以通过URL,POST参数或者在HTTP header发送,因为数据量小,传输速度也很快 自包含(Self-contained):负载中包含了所有用户…
1 什么是JWT? JWT是一种用于双方之间传递安全信息的简洁的.URL安全的表述性声明规范.JWT作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以Json对象的形式安全的传递信息.因为数字签名的存在,这些信息是可信的,JWT可以使用HMAC算法或者是RSA的公私秘钥对进行签名.简洁(Compact): 可以通过URL,POST参数或者在HTTP header发送,因为数据量小,传输速度也很快 自包含(Self-contained):负载中包含了所有用户所…
上接:.NetCore WebApi——Swagger简单配置 任何项目都有权限这一关键部分.比如我们有许多接口.有的接口允许任何人访问,另有一些接口需要认证身份之后才可以访问:以保证重要数据不会泄露. 关于JWT 维基百科上是这样定义的: JWT(读作 [/dʒɒt/]),即JSON Web Tokens,是一种基于JSON的.用于在网络上声明某种主张的令牌(token).JWT通常由三部分组成: 头信息(header), 消息体(payload)和签名(signature).它是一种用于双方…
一.问题 使用Swashbuckle.AspNetCore生成.NetCore WEBAPI的接口文档的方法 二.解决方案 参考文章:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/web-api-help-pages-using-swagger?tabs=visual-studio 1.Install-Package Swashbuckle.AspNetCore 2.在ConfigureServices中添加AddSwaggerGe…
一.创建一个Asp.NetCore WebApi 项目 二.引入NuGet包 SwashBuckle.AspNetCore 三.在项目属性配置中设置 四.修改项目的启动文件Startup.cs 1).在ConfigureServices方法中注册Swagger中间件 public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(Compatibility…
目录: .NetCore WebApi——Swagger简单配置 .NetCore WebApi——基于JWT的简单身份认证与授权(Swagger) .NetCore WebApi —— Swagger版本控制 版本控制的好处是显而易见的,利用Swagger展示不同版本的API更能体现效果. 1.安装Nuget包:Microsoft.AspNetCore.Mvc.Versioning 2. 配置Startup类  2.1  添加新成员 ,用来获取API版本信息 /// <summary> //…
Asp.netCore WebApi 3.1 跨域的预检查options问题 1:我们直接使用core跨域的中间件 ,注入跨域服务, services.AddCors(options => { // CorsPolicy 是自訂的 Policy 名稱 options.AddPolicy("CorsPolicy", policy => { policy.SetPreflightMaxAge(TimeSpan.FromSeconds(1800L));//update by ja…
目录 一:简单介绍什么是Web api 二:怎么定义的 Post Get Put 和 Delete 三:简单使用,直接从前台传递一个类到后台接收 四:其他获取值的方式 一:简单介绍什么是Web api REST属于一种设计风格,REST 中的 POST(新增数据),GET(取得数据),PUT(更新数据),DELETE(删除数据)来进行数据库的增删改查,而如果开发人员的应用程式符合REST原则,则它的服务为“REST风格Web服务“也称的RESRful Web API”. 微软的web api是在…
我自己的框架中,UOW是可以通过反射提取具体的Repository的,也可以调用Commit方法. 但是正确的应用方式应该是: Using(var uow = new UnitOfWork()) { // code here } 或者是 当UOW通过IOC注册完毕后,可以通过如下代码进行事务操作: uow.BeginTrans(); //code here uow.Commit(); 我觉得第二种方案更适合我现在的场景. 那么针对第二种方案,就需要做一下UOW方面的重构了. 在BeginTran…
介绍: 官方定义如下,强调两个关键点,即可以对接各种客户端(浏览器,移动设备),构建http服务的框架.Web API最重要的是可以构建面向各种客户端的服务. core的WebAPI与ASP.NET WebAPI是有些区别的,现在使用的是控制器路由[Route("api/Menu")]和请求方式路由[HttpGet].[HttpGet("{id}")]结合的 方式.直接在控制器和Action上使用方法注释.没有ASP.NET WebAPI存在单独的配置路由规则类.先…
作者:圣杰 链接:https://www.jianshu.com/p/d14733432dc2 來源:简书 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 1. 引言 上一节我们讲解了如何创建微信公众号模块,这一节我们就继续跟进,来讲一讲公众号模块如何与系统进行交互. 微信公众号模块作为一个独立的web模块部署,要想与现有的[任务清单]进行交互,我们要想明白以下几个问题: 如何进行交互? ABP模板项目中默认创建了webapi项目,其动态webapi技术允许我们直接访问ap…
因为我是一直写C#的,所以最近闲暇时间一直在学习.NET Core,该博客的后端使用的就是.NET Core WebApi然后加前端Vue. 首先后端.NET Core搭的框架是一个仓储层+服务层+API,然后数据库访问是EF Core+Mysql数据库.具体接口都使用的异步,使用第三方IOC容器解耦. 然后前端页面是网上找的模板https://www.yangqq.com/link.html,博主有各种风格的博客,可以去看下.然后接口请求是axios,vue用来处理数据. 开发环境:vs201…
一. 简单说明 开篇就介绍过WebApi和MVC相比,其中优势之一就是WebApi可以不依赖于IIS部署,可以自托管,当然这里指的是 .Net FrameWork 下的 WebApi 和 MVC 相比较,在.Net Core下,当然就另行别论. 下面我们重点介绍的就是WebApi基于控制台程序进行部署. 1. 安装程序集 通过Nuget添加程序集:Microsoft.AspNet.WebApi 和 System.Web.Http.SelfHost. 2. 新建一个WebApi的控制器,里面有一个…
一 .配置 1.vs2019 创建一个.net core web程序,选择webapi 2.项目中添加一个配置文件:添加--新建项--XML文件,命名为log4net.config 我使用的是log4net的RollingLogFileAppender,他的好处是按天记录日志,一般日志记录会选择30天 <configuration> <!-- This section contains the log4net configuration settings --> <log4n…
首先贴上微软的文档:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files 参考网址:http://www.cnblogs.com/wangrudong003/p/7592689.html#3877063 代码: //虚拟目录实现apk文件下载 var path = filePath + @"\apk"; app.UseStaticFiles(new StaticFileOptions() { Fil…
介绍 实现这个功能主要还是依赖过滤器 在Swagger中利用 IOperationFilter 操作来实现文件上传 与之前处理结合Idr4授权一样的处理方式,不同的是授权处理的是Security,而文件上传要处理的是Parameters,具体是IFormFile参数处理 IFormFile 在  Microsoft.AspNetCore.Http 命名空间下 怎么来处理呢? options.OperationFilter<IdentityServer4OAuth2OperationFilter>…
自定义错误消息 public class ErrorMessage:DelegatingHandler { protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { return base.SendAsync(request, cancellationToken).ContinueWith<HttpRes…
  一.创建项目 新建api项目: 建好之后,一个默认的控制器已经有了: 运行就可以直接访问get接口获取数据: 二.跨平台部署 部署方面,微软已经完善的很好了,基本上算是傻瓜式操作.项目右键选择发布: 部署模式可以采用框架依赖,或独立,选择框架依赖,则需要在目标平台安装netcore运行时后才能运行netcore程序. 平台可以选择windows或linux: 发布完成后,直接运行“dotnet *.dll”即可将api服务建立起来,默认建立http的5000端口和https的5001端口,可…
安装Hangfire 在webapi项目中通过nuget安装Hangfire.Core,Hangfire.SqlServer,Hangfire.AspNetCore,截止到目前的最新版本是1.7.6. 使用MSSQL数据库 可以创建一个新的数据库,或者使用现有数据库. CREATE DATABASE [HangfireTest] GO 设置appsettings.json { "ConnectionStrings": { "Hangfire": "Serv…
1.参数带[FormBody]标签 2.ajax 请求 content-type:application/json 3.post时 需要JSON.stringify 4.GET 时不需要JSON.stringify 第二种形式 1.webapi 参数 可带可不带[FromForm] 2.ajax 请求 content-type 默认 application/x-www-form-urlencode 不要更改 3.POST 时 不要JSON.stringify…
示例是调用谷歌短网址的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() { AutomaticDecompr…
[RoutePrefix("Api")] public class UploadController:BaseApiController { [HttpPost] [Route("Upload")] public IHttpActionResult Upload() { try{ //接收post传入的数据 var request=System.Web.HttpContext.Current.Request; byte[] requestData=new byte[…
1.简单请求 [HttpGet] public ActionResult Get(int id) Postman: api / controller / action?id=1 2.form-data [HttpPost] public void Post([FromForm] string param) Postman: api / controller / action 选form-datat:以key-value形式传值 3.json [HttpPost]public void Post(…
修改startup类中的configure方法…
配置在iis上,除了环境配置错误的原因还有一种可能是连接字符串的问题,iis要求使用sql server的sa或者其他登录用户. ps:连接字符串:  "Default": "Server=localhost; Database=数据库; User ID=sa;Password=密码;"…