Autofac、Owin 和内存泄漏。 autofac 是否与 owin 一起泄漏?

2024-01-12

最近我意识到我的基于 Owin 和 Autofac 的 Web API 应用程序存在泄漏。泄漏不是永久性的,但内存保留的时间比每个请求的时间长。这是交易:

1-)默认情况下,Web API 使用缓冲响应,并且运行时保持重叠数据即使在返回响应后,也可以将最多 40 个实例构造为对象池。 (我猜是出于性能原因)

2-) Each 重叠数据结构保持欧文语境活着(可能一次只有 40 个,用于池化)

3-)因为欧文语境还活着,相关的Autofac尽管容器本身已被释放,但每个请求范围的容器仍保持活动状态。

4-)即使Autofac容器被释放后,它将对象保存在其sharedInstances字典中。

因此内存泄漏。解决方法是使用流式传输而不是缓冲,这样就没有重叠数据。但我很好奇另一种解决方案。

另一个奇怪的事情是,如果 Autofac 容器被处置,它仍然将数据保留在其字典中。它应该将字典设置为 null!有任何想法吗 ?


None

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

Autofac、Owin 和内存泄漏。 autofac 是否与 owin 一起泄漏? 的相关文章

随机推荐

  • 内联命名空间可以用来保持共享库的向后兼容性吗?

    C 内联命名空间的基本原理是源代码和二进制兼容性 请参阅 Herb Sutter 的论文 链接为N2535 http www open std org jtc1 sc22 wg21 docs papers 2008 n2535 htm 但我
  • 响应 json 时禁用“Cookie”标头

    我想在以 json 形式响应时禁用 删除 Cookie 标头 其实我可以设置Config set session driver array 使用 Laravel 4 2 进行过滤 如果我在 L5 版本 5 0 5 中执行此操作 我会在日志文
  • 使用 .NET Core 在 Mac OSX 上进行 Office (Excel) COM 互操作?

    我所在的团队目前专门使用 C NET 创建 Windows 桌面应用程序 这些应用程序通过 Office COM Interop 与 Microsoft Excel 的本地用户实例进行交互 我目前负责指定一个新产品 但我被告知 除非该应用程
  • 使用 C# 编码的具有 https 支持的 http 侦听器

    我找到了很多如何设置 httplistener 以使用 HTTPS 的答案 但每个解决方案都需要使用命令行 我想这是最快的方法 但我想编写 C 类来处理这个问题 在旧的解决方案中 我使用了网络服务器类 在互联网上的某个地方找到 我不记得确切
  • 在 C++ 中使用 gsl 时如何避免静态成员函数

    我想在 C 类中使用 GSL 而不将成员函数声明为static 这样做的原因是因为我对它们不太了解 对线程安全也不太确定 从我读到的来看 std function可能是一个解决方案 但我不确定如何使用它 我的问题归结为如何删除static在
  • JBoss 6:将 EJB 注入 servlet

    Folks 每次新版本的 JBoss 推出时 我都必须重新学习并浪费时间在这些东西上 这让我非常恼火 我有一个在 JNDI 空间中发现并声明的无状态 EJB 10 01 53 044 INFO org jboss ejb3 proxy im
  • AWS Cognito 用户池 - 只读客户端

    标题中已经说明了问题 有没有办法为 Amazon Cognito 用户池创建仅具有读取权限的应用程序客户端 这有点奇怪 但是当我取消选中 可写属性 部分中的所有框 用户池 gt 常规设置 gt 添加另一个应用程序客户端 时 它会返回以下警告
  • 驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置 - Selenium 错误

    我有一个令人恼火的 Selenium 错误 驱动程序可执行文件的路径必须由 webdriver chrome driver 系统属性设置 这是我正在使用的代码 Environment SetEnvironmentVariable webdr
  • Perl后台进程

    我正在尝试在 perl 中运行后台进程 我创建了一个子进程 用于调用另一个 perl 脚本 我想与这个子进程并行运行几行代码 子进程完成后 我想打印一行代码 主要脚本 usr bin perl 1 print before the chil
  • 考虑中心的顺序,重新标记 kmean 结果中的样本

    我正在使用 kmeans 来聚类我的数据 对于生成的结果我有一个计划 我想根据订购的中心重新标记样本 考虑以下示例 a c a b c d e F i j k l m n b c 1 2 3 20 21 21 40 41 42 4 23 5
  • 循环字符串时向字典添加多个值

    对Python 3仍然是超级新手 并且遇到了问题 我正在尝试创建一个函数 它返回一个字典 其中键是每个单词的长度 值是字符串中的单词 例如 如果我的字符串是 狗快速向前跑到公园 我的字典应该返回 2 to 3 The run the 4 d
  • 如何使用 Xcode 11 从命令行上传到 App Store?

    以前 在 Xcode 10 中 我们使用altool上传到App Store ALTOOL Applications Xcode app Contents Applications Application Loader app Conten
  • PHP array_filter 从数组中仅获取一个值[重复]

    这个问题在这里已经有答案了 我试图排除 foreach 循环并使用数组函数重构它们 我假设下面的代码会给我一个包含源数组中所有第一项的结果
  • 相关控制器中的 NSToolbarItem 验证

    我有一个 NSToolbarItem 其视图为 NSButton 主菜单中有一个 NSMenuItem 两者具有相同的操作 该操作被发送到第一响应者 而不是特定目标 该方法最终在 NSSplitViewController 的子类中实现 位
  • 删除 3D 图中的轴边距

    我花了几天时间试图找到一种方法来消除 3D 图中轴上的微小边距 我试过ax margins 0 and ax autoscale view tight 和其他方法 但这些微小的利润仍然存在 特别是 我不喜欢条形直方图升高 即它们的底部不在零
  • 使用 R 从 Microsoft Azure 读取 csv 文件

    我最近开始使用 databricks 和 azure 我有微软天蓝色存储资源管理器 我在 databricks 上运行了一个 jar 程序 它在路径中的 azure storgae explorer 中输出许多 csv 文件 myfolde
  • Ninject,在ninject初始化的RegisterServices中注入Membership.Provider

    有人知道如何在ninject初始化代码的RegisterServices中配置Membership Provider吗 在我的代码中
  • 拦截 PrintDialog 到 XPS Document Writer

    目前我为用户提供两个控件 保存和打印 当用户选择 保存 时 WPF 显示的一个区域将被打包并通过 XpsDocumentWriter 发送 并且提示并鼓励用户签署新的 xps 文档 当用户选择 打印 时 PrintDialog PrintV
  • phpMyAdmin 以十六进制显示 varbinary 列,尽管“以十六进制显示”未选中

    phpMyAdmin 4 无框版 我想知道其他人是否遇到过这个问题 在 varbinary 类型的所有列上 phpMyAdmin 将显示的值从查询转换为十六进制 在选项选项卡上有一个复选标记 将二进制内容显示为十六进制 并且未选中 有一些配
  • Autofac、Owin 和内存泄漏。 autofac 是否与 owin 一起泄漏?

    最近我意识到我的基于 Owin 和 Autofac 的 Web API 应用程序存在泄漏 泄漏不是永久性的 但内存保留的时间比每个请求的时间长 这是交易 1 默认情况下 Web API 使用缓冲响应 并且运行时保持重叠数据即使在返回响应后