将 MiniProfiler 连接到 ASP.NET Core Web API Swagger
Wire up MiniProfiler to ASP.NET Core Web API Swagger
我只找到 this manual 描述如何使 MiniProfiler 与 ASP.NET Web API 和 Swagger UI 一起工作,但我没有找到任何手册描述如何使 ASP.NET Core Web API 与 MiniProfiler 一起工作以在 Swagger UI.
中显示结果
您只需按照 documentation 中的说明自定义 Swagger index.html
文件即可。创建自定义 HTML 文件后,将以下行添加到其中:
<script async="async" id="mini-profiler" src="/profiler/includes.js?v=4.0.0.0" data-version="4.0.0.0" data-path="/profiler/" data-current-id="865f1487-f416-4d39-87fe-723e34847577" data-ids="" data-position="left" data-authorized="true" data-max-traces="15" data-toggle-shortcut="Alt+P" data-trivial-milliseconds="2.0" data-ignored-duplicate-execute-types="Open,OpenAsync,Close,CloseAsync"></script>
基本上上面的脚本是MiniProfiler.Current.RenderIncludes()
方法的输出。
下面是 ConfigureServices
和 Configure
方法,查看 Swagger 和 Miniprofiler 是如何配置的
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
// Register the Swagger generator, defining one or more Swagger documents
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
});
services.AddMiniProfiler(options =>
options.RouteBasePath = "/profiler"
);
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseMiniProfiler();
}
app.UseSwagger();
app.UseSwaggerUI(c => {
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
c.IndexStream = () => GetType().GetTypeInfo().Assembly.GetManifestResourceStream("SOMpSwaggerNetCore.SwaggerIndex.html");
});
app.UseMvc();
}
我只找到 this manual 描述如何使 MiniProfiler 与 ASP.NET Web API 和 Swagger UI 一起工作,但我没有找到任何手册描述如何使 ASP.NET Core Web API 与 MiniProfiler 一起工作以在 Swagger UI.
中显示结果您只需按照 documentation 中的说明自定义 Swagger index.html
文件即可。创建自定义 HTML 文件后,将以下行添加到其中:
<script async="async" id="mini-profiler" src="/profiler/includes.js?v=4.0.0.0" data-version="4.0.0.0" data-path="/profiler/" data-current-id="865f1487-f416-4d39-87fe-723e34847577" data-ids="" data-position="left" data-authorized="true" data-max-traces="15" data-toggle-shortcut="Alt+P" data-trivial-milliseconds="2.0" data-ignored-duplicate-execute-types="Open,OpenAsync,Close,CloseAsync"></script>
基本上上面的脚本是MiniProfiler.Current.RenderIncludes()
方法的输出。
下面是 ConfigureServices
和 Configure
方法,查看 Swagger 和 Miniprofiler 是如何配置的
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
// Register the Swagger generator, defining one or more Swagger documents
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
});
services.AddMiniProfiler(options =>
options.RouteBasePath = "/profiler"
);
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseMiniProfiler();
}
app.UseSwagger();
app.UseSwaggerUI(c => {
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
c.IndexStream = () => GetType().GetTypeInfo().Assembly.GetManifestResourceStream("SOMpSwaggerNetCore.SwaggerIndex.html");
});
app.UseMvc();
}