gpt4 book ai didi

iis - 使用基于 katana-owin 的 web api 运行的 Swashbuckle 不适用于 IIS,但适用于 IIS Express

转载 作者:行者123 更新时间:2023-12-01 12:35:56 25 4
gpt4 key购买 nike

我想我和这篇文章有类似的问题- Webactivator doesn't run on IIS 7

使用基于 katana-owin 的 web api 运行的 Swashbuckle 能够与 IIS Express 一起工作。

假设下面的所有 url 都有一个“http”前缀。我可以浏览到类似 localhost:8085/swagger 的内容,它会将我正确重定向到 localhost:8085/swagger/ui/index

但是当发布到 IIS 时重定向到 localhost/swagger/ui/index 而不是 localhost/myapp/swagger/ui/index,这会导致 404。请注意,即使在发布时指定了应用程序名称,swashbuckle/swagger 也不知道并且只使用没有应用程序名称的路径库。

基本上它只是获取站点根 URL 而不是用于调用/swagger 的应用程序 URL

这个问题有什么解决办法吗?

最佳答案

我遇到了同样的问题。使用以下代码 (c.RootUrl) 解决了这个问题

config.EnableSwagger(c =>
{
c.IncludeXmlComments(GetXmlCommentsPath());

c.SingleApiVersion("v1", "yourAPI");

c.RootUrl(req => req.RequestUri.GetLeftPart(UriPartial.Authority) + VirtualPathUtility.ToAbsolute("~/").TrimEnd('/'));

});

引用:Relative path for UI request URL

关于iis - 使用基于 katana-owin 的 web api 运行的 Swashbuckle 不适用于 IIS,但适用于 IIS Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29830743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com