我有一个作为 OWIN 中间件实现的 ASP.NET Web API。我在 azure 上托管它,现在使用 swagger 时遇到问题。它在本地主机上运行得很好,但是当我在 azure 上尝试它时,我得到了这个:
我在 API 上进行 swagger 配置的方法是完全删除 SwaggerConfig.cs 文件并将所有配置添加到我的 Startup.cs 类中,如下所示:How to generate documentation using swashbuckle for WebApi 2 with Owin 。如果有帮助的话,我正在尝试在我的 API、身份服务器和客户端应用程序之间实现 oAuth2。
您能帮我找出在 Azure 上无法获得 swagger 功能的原因吗?
编辑:我还尝试了 here 中的解决方案但没有成功。我转到我的 API->属性->Buld 选项卡->更改为“发布”配置->在输出路径中添加与“调试”配置中相同的内容,但什么也没有。
我在 Azure 上的 bin 文件夹:
最佳答案
我自己在浏览时遇到了这个问题this教程。
在“配置中间层以调用数据层”下的第 3 条教程中,我将 key 命名为 apiAppURL,而不是 toDoListDataAPIURL。这导致我收到 500 个响应代码并且
{
"Message": "An error has occurred."
}
在响应正文中。
我通过更新以下行修复了它:
var client = new ApiApp(new Uri(ConfigurationManager.AppSettings["toDoListApiURL"]));
到
var client = new ApiApp(new Uri(ConfigurationManager.AppSettings["apiAppURL"]));
**所做的更改是针对行尾的字符串。该代码可以在 ToDoListController.cs 的第 42 行中找到
希望这对某人有帮助!
关于azure - Swagger 无法在以 OWIN 身份运行的 Azure Web 应用程序上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39406820/