【发布时间】:2020-07-23 16:07:31
【问题描述】:
在遵循此示例 documentation 之后,我正在尝试弄清楚如何使用 Swagger (SwashBuckle) 发布 .net core 3 API。所以它在本地工作,当我点击 F5 IIS Express 时,会在 http://localhost:8033/index.html 下启动该站点
这是 startup.cs 中的配置代码:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(env.ContentRootPath),
RequestPath = new PathString("")
});
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "v1");
c.DocumentTitle = "TestAPI";
c.DocExpansion(DocExpansion.None);
c.RoutePrefix = string.Empty;
});
}
接下来,我将 API 发布到本地文件夹,并将文件复制到服务器上的 IIS 文件夹中。如果我打开服务器 API 域,我会得到一个 page can’t be found。我应该使用哪个地址来打开服务器上的 swagger UI?配置中是否缺少某些内容?
【问题讨论】:
-
打开
applicationHost.config并找到这个新站点的 XML 元素。将它们粘贴为问题的一部分。
标签: c# asp.net-core iis swagger swashbuckle