API 获取和浏览器崩溃后 Swagger UI 冻结

2023-11-27

我有一个 ASP.NET WebAPI 项目,我试图用 Swagger UI 替换旧的 XmlDocumentationProvider 页面。我正在使用webAPI 5.3.1 的 swashbuckle swagger努吉特包。

我能够导航到 localhost/MyApp/swagger,并且可以在 fiddler 中看到它调用 localhost/MyApp/swagger/docs/v1 来检索表示我的 API 的 JSON 字符串。调用成功,JSON约为240KB,且JSON有效。此时,chrome 选项卡会冻结大约 30 秒,然后崩溃并显示“哇咔咔”页面。控制台中没有错误。

尝试验证 api JSON这个在线验证器有效并表示规范/模式有效当且仅当我取消选中所有三个“遵循 ___ $refs”复选框。如果勾选其中任何一个框,大约需要 30 秒,然后该工具就会崩溃。

不幸的是,我无法将整个 webAPI 规范粘贴到某处,但我会说它适用于非常大且非常复杂的内部业务应用程序。我们的一些 DTO 具有循环引用(与 DTO 本身类型相同的属性),我怀疑这可能会导致问题,但如果没有任何日志记录或调试,我无法确定,并且有超过 1000 个 DTO 类,我不想将它们全部梳理一遍进行检查。

有没有办法为 swashbuckle(在服务器上)或 swagger UI(在客户端上)打开任何类型的日志记录或调试?有没有人遇到过浏览器崩溃的问题并知道是什么原因造成的?提前致谢。


我能够注释掉每个 API 控制器,加载 swagger 页面,然后重新打开它们,直到页面再次崩溃。一旦我弄清楚哪个控制器出了问题,我就对控制器中的所有端点重复该过程。

事实证明,我们非常古老的方法之一是将 ORM 实体作为主体参数(非常糟糕),这导致 swagger 尝试解析我们的整个 ORM 对象图并耗尽内存。更改此方法以接受 DTO 而不是数据层实体解决了问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

API 获取和浏览器崩溃后 Swagger UI 冻结 的相关文章

随机推荐

  • 使用 Android getIdentifier()

    我试过这个 r Resources getSystem getIdentifier ball red drawable com Juggle2 Log i FindBall R r 和这个 r Resources getSystem get
  • 使用花括号初始化列表调用显式构造函数:是否不明确?

    考虑以下 struct A A int int struct B B A 1 explicit B int int 2 int main B paren 1 2 3 B brace 1 2 4 的建设brace in 4 明确无误地呼吁 2
  • 如何隐藏滚动条上的灰点

    In Visual Studio 2015 2017 我们怎样才能隐藏Vertical Scrollbar的灰点如下图 如果您试图隐藏由 建议 而不是书签 引起的灰点 那么这就是具体的设置 Tools gt Options gt Envir
  • 调用第三方 API 时处理 CORS

    yes this is a very famous question I have tried many ways mentioned in the previous stack overflow QnA but nothing worke
  • PowerShell 3.0 新功能 [ordered] 的用例

    PowerShell 3 0 CTP1引入新功能 ordered 这在某种程度上是一个捷径OrderedDictionary 我无法想象它的实际用例 为什么这个功能真的很有用 有人可以提供一些有用的例子吗 示例 恕我直言 这是演示案例而不是
  • 在Java中生成所有排列[重复]

    这个问题在这里已经有答案了 可能的重复 生成给定字符串的所有排列 我在 Java 中有一个任意长度的数组 我想生成它们的所有可能的排列 对于固定长度执行此操作的简单方法是一系列嵌套的 for 循环 但由于数组的长度未知 因此这里不提供这种选
  • 数组/集合和 for Each 循环中的用户定义类型

    VBA 在弹出窗口中显示 不允许我迭代具有用户定义类型的数组 我写了一些代码 想知道如何解决这个问题 这是一个小例子 重点关注我想要做的事情 Option Explicit Type Info source As String destin
  • Magento - OnePage Checkout - 根据运输方式隐藏付款方式

    我已经问过这个问题Magento 堆栈交换没有任何成功 因此我现在在这里问 我正在使用 Magento Community Edition 1 9 0 1 并已正确创建和注册我的模块 但我似乎无法检测到运输方式 基本上 我想隐藏货到付款 i
  • 如何正确过滤数据表(datatable.select)

    Dim dt As New DataTable Dim da As New SqlDataAdapter s c c Open If Not IsNothing da Then da Fill dt dt Select GroupingID
  • Pandas 将多个数据帧与时间戳索引对齐

    这一直是我过去几天生活中的祸根 我有许多 Pandas Dataframes 其中包含频率不规则的时间序列数据 我尝试将它们对齐到一个数据框中 下面是一些代码 具有代表性的数据帧 df1 df2 and df3 我实际上有 n 5 并且希望
  • 数据路径“”不应具有附加属性(dryRun)

    我在 MAC 中安装了最新的 Angular 6 0 4 当我在终端中输入时 ng new happiness display Schematic input does not validate against the Schema dry
  • 如何使用 IntelliJ 从 Selenium/TestNG java 文件创建可执行 jar 文件?

    我已经在谷歌上搜索了好几天 试图找出如何做到这一点 如果有人之前这样做过 我将非常感谢您的帮助 我在 IntelliJ 中创建了一个自动化测试项目 可以自动执行用户与 Web 应用程序的交互 我想将该自动化测试 使用 Selenium 和
  • Apache Toree 和 Spark Scala 无法在 Jupyter 中运行

    我在 Jupyter 上运行 Scala Spark 时遇到问题 以下是我在 jupyter 中加载 Apache Toree Scala 笔记本时出现的错误消息 root ubuntu 2gb sgp1 01 jupyter notebo
  • 整理 Git 混乱

    我刚刚继承了一个使用 Git 维护的项目 代码一度被部署到 3 个独立的系统上 每个系统都维护自己的去中心化 Git 存储库 3个系统中的每一个都在3个不同的方向上扩展了原始的基础系统 这 3 个系统均未相互同步 一些更改发生在主分支上 其
  • 文本到音素转换器

    我正在寻找一种将文本转换为音素的工具 例如文本到语音软件 我可以编写一个程序 但它不会没有错误并且需要很多时间 所以我的问题是 有没有一个简单的工具可以转换例如 你好 到 HH AH0 L OW1 也许有一些命令行工具 以便我可以捕获标准输
  • 亚马逊商城 API [已关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我期望亚马逊市场网络服务像任何其他网络服务一样简单 但事实并非如此 似乎有一些关于市场产品提要的信息 任何人都可以帮助我如何开始上传新产品 一步一步 因为我是新手 以及更新数量或
  • 使用elasticsearch-dsl的delete方法时版本冲突

    因此 我们在 Django 项目中使用elasticsearch 并且使用elasticsearch dsl python 库 我们在生产中遇到以下错误 ConflictError 409 took 7 timed out false to
  • ASP.Net MVC 中的自我 AJAX 更新部分视图/控制器和复制 div

    我对 MVC 的部分看法如下 div div 在该 div 内有一个表单 它使用 AJAX 调用控制器并返回相同的部分视图 问题是调用视图的结果替换了 div 的内容 而不是整个 div 我最终得到 div div div div 根据我一
  • 真(非伪)随机数生成器。外面有什么? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在寻找能够生成真实随机数的经济实惠的解决方案 我已经发现LavaRnd 这是一个密码学上合理的随机数生成器 有人有这个领域的经验和 或了解其他解决方案吗 PS 恕我直言 这个问题
  • API 获取和浏览器崩溃后 Swagger UI 冻结

    我有一个 ASP NET WebAPI 项目 我试图用 Swagger UI 替换旧的 XmlDocumentationProvider 页面 我正在使用webAPI 5 3 1 的 swashbuckle swagger努吉特包 我能够导