.Net Core WebApi项目实现Swagger和MiniProfiler集成

本文介绍了如何在.NET Core WebApi项目中集成Swagger和MiniProfiler,以实现接口性能分析和测试。首先,通过安装Nuget包引入MiniProfiler。接着,确保其在`UseEndpoints`之前注册并启用。然后,自定义Swagger首页`index.html`,并将MiniProfiler的Tag标签插入其中。当遇到MiniProfiler的Tag为空时,检查注册顺序。最后,展示了如何在代码中使用MiniProfiler进行性能分析。
摘要由CSDN通过智能技术生成

背景

在开发一个webapi项目,使用了Swagger首页展示Http接口。为了测试、提升接口性能,现在对接口加入分析工具。

MiniProfiler是一款很好的轻量级性能分析工具,提供库和UI。通过它可以查看程序的时间消耗,提供程序调试和性能优化帮助。

MiniProfiler is a library and UI for profiling your application. By letting you see where your time is spent, which queries are run, and any other custom timings you want to add, MiniProfiler helps you debug issues and optimize performance.

官网 https://miniprofiler.com/dotnet/

 

1、安装Nuget包

Install-Package MiniProfiler.AspNetCore.Mvc

2、注册和启用MiniProfiler

   public void ConfigureServices(IServiceCollection services)
        {
            /*
             * 其他代码
             */
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo
                {
                    Version = "v1.0",
                    Title = "GDWC.Core.API",
                    Description = "说明文档",
                    TermsOfService = null,
                    Contact = new OpenApiContact
                    {
                        Name = "GDWC.Core",
                        Email = "",
                        Url = new Uri("http://www.whfhjc.com.cn/"),
                    }
                });
        
            services.AddMiniProfiler(option =>
            {
                option.RouteBasePath = "/profiler";
                //(option.Storage as MemoryCacheStorage).CacheDuration = TimeSpan.FromMinutes(10);
            });
            /*
             * 其他代码
        
在IIS上部署ASP.NET Core Web API项目Swagger可以按照以下步骤进行: 1. 首先,我们需要确保已经在本地系统上安装了ASP.NET Core RuntimeASP.NET Core Hosting Bundle,以便在IIS中运行ASP.NET Core应用程序。 2. 在Visual Studio中,打开你的ASP.NET Core Web API项目。确保项目已经设置为IIS Express作为本地开发服务器。 3. 在项目根目录下的`Properties`文件夹中找到`launchsettings.json`文件,检查并确保该文件中已经配置了`applicationUrl`为`http://localhost:{port}/`,其中`port`为你希望的端口号。 4. 在Visual Studio的顶部菜单中,找到 `Build` -> `Publish {YourProjectName}`,选择发布目标为`Folder`,点击 `Publish`。 5. 在弹出的窗口中选择一个输出文件夹,用于存储发布项目的文件。 6. 打开发布文件夹,在该文件夹中应该有一个名为`web.config`的文件。双击打开该文件,确保其中有以下代码片段: ```xml <aspNetCore processPath="dotnet" arguments=".\{YourProjectName}.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" /> ``` 7. 打开IIS管理器,右键点击`Sites`节点,选择`Add Website`。填写网站名称以及物理路径为刚刚发布项目的目录。 8. 对于应用程序池,选择一个合适的.NET CLR版本托管管道模式(例如:.NET CLR版本为No Managed Code,托管管道模式为集成)。 9. 在网站的右侧,找到`Authentication`,禁用匿名身份验证并启用Windows身份验证。 10. 重新启动IIS。 11. 现在,我们可以在浏览器中访问`http://localhost:{port}`,应该能够看到你的ASP.NET Core Web API已经在IIS上成功部署。 12. 最后,要在部署的项目中添加Swagger,可以通过NuGet包管理器,添加`Swashbuckle.AspNetCore`包。 13. 在`Startup.cs`文件的`ConfigureServices`方法中,添加以下配置: ```csharp services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "API", Version = "v1" }); }); ``` 14. 在`Startup.cs`文件的`Configure`方法中,添加以下代码: ```csharp app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "API v1"); }); ``` 15. 重新发布并重新启动IIS,现在你的ASP.NET Core Web API应该在IIS上部署并且通过Swagger可以浏览调用你的API接口。 以上就是在IIS上部署ASP.NET Core Web API项目Swagger的步骤。请注意,确保按照正确的顺序执行每一步,并根据自己的项目配置进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值