我有一个用ASP.NET(非Core)编写的WebAPI服务,我正在尝试生成文档,以便其他开发人员使用它。我找到了Swashbuckle并安装了它。然后,由于我也将OData用于我的一些服务,我添加了Swashbuckle.OData。然后,我修改了(56, 0)
中的CustomProvider
设置以使用SwaggerConfig
。我还设置了ODataSwaggerProvider
,因为我有一些具有相同URL路径的Actions,只有查询字符串不同(我以后需要解决)。到现在为止还挺好。
然后,我测试了它。我开始使用我的网络应用程序,然后添加" / swagger /"然后结束我收到一条消息,说明它正在加载资源信息。但是,几分钟后,我得到一个浏览器错误调试弹出窗口,说明"错误:没有足够的存储空间来完成此操作。"它询问我是否要调试,如果我这样做,它会将我带到IE中的调试器(我正在使用的浏览器)。堆栈中唯一的代码是来自jquery-1-8-0-min-js或swagger-ui-min-js(这部分让我困惑,因为没有" swagger-ui-min-js&# 34;在我的项目中存档;我假设它已嵌入到dll中)。堆栈跟踪中没有任何部分浮动回我的代码,并且所有代码都缩小了,因此调试起来非常困难。
但是,我知道它至少部分正常工作,因为在关闭错误弹出窗口后,三个控制器会显示在结果页面中。您可以浏览它们,并且所有GET,POST,PUT和DELETE似乎都在那里,您可以测试它们。
无论何时导航到" / swagger /" url,Swagger命中服务中的所有URL,以生成文档?我想知道是否它可能会花费一个特别长的时间来运行,或者它生成的文档占用了太多的磁盘空间(我的磁盘上有足够的空间,但它可能指的是内存?)。
无论如何,即使这不是一个问题,我怎么能让它生成一些东西,某种文档文件,我可以发送给某人?我看到没有新文件添加到我的文件夹中,因此每次导航到swagger URL时,它似乎都会重新执行整个过程。
答案 0 :(得分:0)
当我尝试使用Chrome浏览器时,我不再遇到问题(之前我使用的是IE11)。不确定问题是什么,但这是解决方法。