webapi

.Net Core 迁移之坑一 《WebAPI Get请求参数传入输入带有[]不识别问题》

匿名 (未验证) 提交于 2019-12-03 00:41:02
在Framwork 体系下 WebAPI项目 会有很多默认特性,例如:Get查询竟然支持三种数组查询方式 1.https://localhost:44390/api/values?status=1&status=2 2.https://localhost:44390/api/values?status[]=1&status[]=2 3.https://localhost:44390/api/values?status[0]=1&status[1]=2 直到客户端同鞋找到我,才发现第二种在.net core webapi 默认竟然不支持 StartUp 里面添加就行了如图 1行代码就解决了有木有 看下结果大功告成 原文:https://www.cnblogs.com/zhaozhengyan/p/9314152.html

WebAPI的AuthorizeAttribute扩展类中获取POST提交的数据

匿名 (未验证) 提交于 2019-12-03 00:40:02
在WEBAPI中,AuthorizeAttribute类重写时,如何获取post数据是个难题,网上找资料也不好使,只能自己研究,通过研究发现,WEBAPI给了我们获取POST数据的可能,下面介绍一下: //将POST数据以字符串的形式读取,例如post的json数据,就可以以这种方式读取 actionContext.Request.Content.ReadAsStringAsync(); actionContext.Request.Content.ReadAsStreamAsync(); actionContext.Request.Content.ReadAsFormDataAsync(); 代码具体如下: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Net.Http; 5 using System.Web; 6 using System.Web.Http; 7 using System.Web.Http.Controllers; 8 using BoxSecurity; 9 10 namespace BoxWebApiFilter 11 { 12 [AttributeUsage(AttributeTargets.Interface |

ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

匿名 (未验证) 提交于 2019-12-03 00:38:01
在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者的心情。或者详细点,或者简单点。那么有没有一种快速有效的方法来构建api说明文档呢?答案是肯定的, Swagger就是最受欢迎的REST APIs文档生成工具之一! Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。 Swagger 可以生成客户端SDK代码用于各种不同的平台上的实现。 Swagger 文件可以在许多不同的平台上从代码注释中自动生成。 Swagger 有一个强大的社区,里面有许多强悍的贡献者。 Swashbuckle.AspNetCore 是一个开源项目,用于生成 ASP.NET Core Web API 的 Swagger 文档。 NSwag 是另一个用于将 Swagger UI 或 ReDoc 集成到 ASP.NET Core Web API 中的开源项目。 它提供了为 API 生成 C# 和 TypeScript 客户端代码的方法。 Swashbuckle.AspNetCore.Swagger:将 SwaggerDocument 对象公开为 JSON 终结点的 Swagger 对象模型和中间件。 Swashbuckle

高德地图货车驾车轨迹,webapi 快速批量获取2点之间的轨迹数据

匿名 (未验证) 提交于 2019-12-03 00:19:01
var data = { "state" : true , "info" : "成功" , "data" : [ { "coordinate" :[ 116.714919 , 23.396726 ], "route_sequence" : 18 , "section_sequence" : 18 },{ "coordinate" :[ 116.71399 , 23.398669 ], "route_sequence" : 19 , "section_sequence" : 19 },{ "coordinate" :[ 116.71101 , 23.393503 ], "route_sequence" : 20 , "section_sequence" : 20 },{ "coordinate" :[ 116.741079 , 23.395443 ], "route_sequence" : 22 , "section_sequence" : 22 },{ "coordinate" :[ 116.716585 , 23.393869 ], "route_sequence" : 23 , "section_sequence" : 23 },{ "coordinate" :[ 116.770493 , 23.398498 ], "route_sequence" : 26 ,

netcore3.0 webapi集成Swagger 5.0

匿名 (未验证) 提交于 2019-12-03 00:17:01
今天来尝尝鲜。貌似.net core 3.0使用Swagger 4.0.1会报错,随手一搜,还没人写这个把调试通过的代码贴一下: using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.OpenApi.Models; using System; using System.IO; using System.Reflection; namespace WebApplication4 { public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add

Asp.net WebApi的授权安全机制 Basic认证

匿名 (未验证) 提交于 2019-12-03 00:16:01
1:Home/index.cshtml下面的Html代码 <div> <input value="1点击先登陆" type="button" id="btnLogin"/><br /> <input value="2再点击授权后调用接口" type="button" id="btnAuthenrazation" /><br /> </div>       2:Home/index 下面的HomeController [skipLogAttribute] public ActionResult Index() { return View(); } 3: Ajax的模拟代码,先登录,后获取授权,再带上Ticket,后台过滤器校验ok杂可以请求对应的接口 <script type="text/javascript"> $(function () { var ticket = ""; $("#btnLogin").click(function () { //---登陆的操作 $.ajax({ url: "http://localhost:8899/api/values", data: { "uid": "zrf", "pwd": "123" }, type: "get", success: function (res) { if (res.result) { ticket = res

.netcore - gRPC vs WebApi 耗时比较

匿名 (未验证) 提交于 2019-12-03 00:15:02
gRPC & WebApi 服务运行环境 项目 ֵ CPU 1 内存 2GB 操作系统 ubuntu 虚拟机 软件 docker 运行时 .NET Core 3.0 使用不同gRPC和WebApi实现一个UserService,提供SayHi的接口,接收一个字符串参数,返回对这个字符串的简单拼接后的结果,进行单连接/多连接循环调用、并行调用,记录最小耗时、最大耗时、平均耗时。 我非常认同内存、CPU占用很重要,但水平有限,这里不做测试了 除了时间,内存占用实际也是非常非常重要、但容易被人忽略的性能指标。大家都以为“内存不值钱”,但―― 一旦访问量大,内存就会 瞬间 上涨,导致频繁 GC ,导致性能下降; 内存高也会导致服务器分页,这时性能就会急剧下降; 吞吐量下降会导致队列排满,此时服务器就会报503等错误,客户就发现服务器“宕机了”。 (提示:除非你的客户 真 的愿意 多 花钱 再 升级一下服务器,否则不要提“内存不值钱”。) 摘抄自.net骚操作 : https://www.cnblogs.com/sdflysha/p/20190824-dotnet-excel-compare.html 起初设计的是采用微软官方推荐的方式实现gRPC服务,但这种方式实测下来比WebApi还慢,因此增加了采用gRPC官方提供的实现方式进行对比。 gRPC官方提供的实现方式 : https:/

WebApi和MVC的区别

匿名 (未验证) 提交于 2019-12-02 23:59:01
Asp.net MVC 与 Asp.net Web API 区别 https : //www.cnblogs.com/viktor988/ https : //www.cnblogs.com/terry283618366/articles/5760297.htmlhttps://www.cnblogs.com/cjm123/p/8067109.html 需要多学习一些东西才可以. 在我们开发一些web应用时,我们一样可以在MVC Framework 中使用JsonResult 来返回JSON数据,同样也可以处理一下简单的AJAX请求,那么为何微软又推出Web API这么个东西呢?接下来我们来比较一下。二者(Asp.net MVC 与 Asp.net Web Api)何时用? 1 、 Asp . net MVC 是用来创建返回视图( Views )与数据的 Web 应用,而 Asp . net Web API 是一种简单轻松地成熟的 HTTP 服务,它只返回数据,不返回视图( Views )。 2 、 Asp . net Web API 可以通过. Net Framework 来帮助我们构建 REST - ful 服务,而且他支持内容协商(根据客户端能接受的格式要求,返回相应的 JSON , XML , ATOM ),同时 Asp . net Web API 支持自我宿主( self

在WebApi项目里使用MiniProfiler并且分析 Entity Framework Core

匿名 (未验证) 提交于 2019-12-02 23:52:01
在现有的ASP.NET Core MVC WebApi 项目里,通过Nuget安装 MiniProfiler : Install-Package MiniProfiler.AspNetCore.Mvc MiniProfiler.EntityFrameworkCore 当然也可以通过 Nuget Package Manager 可视化工具安装 接下来就是如何配置和使用 MiniProfiler 了,总共分三步: // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext<DataContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DataContext"))); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); // 首先添加一个配置选项,用于访问分析结果: services

WebAPI 生成验证码

匿名 (未验证) 提交于 2019-12-02 23:52:01
private HttpResponseMessage CreateCheckCodeImage(string checkCode) { HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); if (checkCode == null || checkCode.Trim() == String.Empty) return result; var image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22); var g = Graphics.FromImage(image); try { //生成随机生成器 var random = new Random(); //清空图片背景色 g.Clear(Color.White); //画图片的背景噪音线 for (var i = 0; i < 25; i++) { var x1 = random.Next(image.Width); var x2 = random.Next(image.Width); var y1 = random.Next(image.Height); var y2 = random.Next(image.Height);