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 一起泄漏? 的相关文章

  • ADO.NET 池连接无法重用

    我正在开发一个 ASP NET MVC 应用程序 该应用程序使用 EF 6 x 来处理我的 Azure SDL 数据库 最近 随着负载的增加 应用程序开始进入无法再与 SQL 服务器通信的状态 我可以看到有 100 个到我的数据库的活动连接
  • Web API 2.0 使用 pascalcase 模型接收驼峰式命名的 JSON 数据

    我正在尝试对我的 Web API 进行 PUT 调用 我在 WebApiConfig cs 中设置了以下内容 以处理以驼峰形式将数据发送回我的 Web 项目 config Formatters JsonFormatter Serialize
  • Java Thread.sleep 泄漏线程?

    因此 我继承了一些等待来自网络源的通信的代码 当它等待来自网络套接字的更多数据时 Thread sleep 10 叫做 这似乎导致了线程泄漏 正如 jconsole 和我的线程转储所报告的那样 Thread 68 Thread 385 等有
  • 使用 TableController 和 AzureMobileApps 发布新实体时出现错误 500

    我在 AzureMobileApps 上使用 TableController 时遇到问题 我使用脚手架在 Visual Studio 中创建了一个新的 Azure Mobile App TableController 在帖子中 我修改了生成
  • php/symfony/doctrine 内存泄漏?

    我在使用 symfony 1 4 和原则 1 2 将对象批量插入数据库时 遇到问题 我的模型有一种称为 Sector 的对象 每个对象都有多个 Cupo 类型的对象 通常范围从 50 到 200000 这些物体非常小 只是一个短标识符字符串
  • 如何将不记名令牌发送到 ASP NET MVC 5 中的视图?

    我有一个 NET MVC and WEB API项目 我想打电话给WEB API controllers来自 javascript 但我没有找到将令牌发送到我的视图的方法 我想添加bearer token in Viewbag变量 使用以下
  • Singleton:是否存在内存泄漏?

    这是一个简单的单例 class Singleton Singleton virtual Singleton Singleton Singleton getInstance static Singleton instance if insta
  • Xamarin、Autofac、NavigationService 和 BeginLifetimeScope

    关于带有 autofac 的生命周期范围以及何时在 xamarin 应用程序中使用它们的初学者问题 正如这篇文章中提到的 https nblumhardt com 2011 01 an autofac lifetime primer htt
  • 内存泄漏随着 T4CPreparedStatement 的增加

    我们有一个使用 hibernate 4 2 22 JBoss 6 4 7 的应用程序 在我们的代码中 我们不使用任何PreparedStatements 每个数据库问题都由hibernate处理 但在性能测试期间我们得到了 oom 其原因似
  • android中如何释放内存避免内存泄漏

    While going through the android developer site i found this 它说为了避免内存泄漏 我们应该在 onStop 中释放资源 但如何做到这一点 基本上 任何被正确清空的对象都被视为已释放
  • Serilog 与 Autofac

    我有一个记录器包装器 我想使用以下配置将 serilog 注入其中 var logger new LoggerConfiguration WriteTo RollingFile AppDomain CurrentDomain GetData
  • 小/大 numpy 数组的释放处理方式是否不同?

    我正在尝试调试我的大型 Python 应用程序的内存问题 大部分记忆都在numpy由Python类管理的数组 所以Heapy http guppy pe sourceforge net 等等都是无用的 因为它们不占内存numpy数组 因此
  • WebApi 2 和 MVC 5 使用不同的路由属性吗?

    通读this http blogs msdn com b webdev archive 2013 10 17 attribute routing in asp net mvc 5 aspx有关 ASP NET MVC 5 中的属性路由的博客
  • ASP .NET Web 应用程序内存泄漏 - 探查器显示大量字符串

    我的 Web 应用程序经常遇到对分配给应用程序池的虚拟内存设置的 IIS 限制 这会导致 IIS 停止该应用程序 我一直在尝试使用 NET 内存分析器来识别我的应用程序中可能存在的内存泄漏 到目前为止 GC 后保留的最大内存量似乎是在字符串
  • Valgrind 中零字节丢失

    当 Valgrind 报告 o 字节丢失时 这意味着什么 如下所示 27752 0 bytes in 1 blocks are definitely lost in loss record 2 of 1 532 我怀疑这只是创造性使用的产物
  • OWIN中间件可以使用http会话吗?

    我有一些为 ASP NET 和 SignalR 复制的代码 我决定将其重写为 OWIN 中间件以删除这些重复 一旦我运行它 我注意到HttpContext Current Session为空 并且我没有看到任何会话对象IOwinContex
  • dgemm_ 中的内存泄漏

    我目前正在开发一个应用程序 其中涉及大量对 blas 例程的调用 定期检查我发现的内存泄漏 我正在丢失字节dgemm http www netlib org blas dgemm f称呼 调用看起来像这样 I want to multipl
  • 空 Activity 中的内存泄漏

    我最近决定使用泄漏金丝雀 https github com square leakcanary在我的项目中 所以我创建了一个空的项目Activity只是为了测试 当我运行应用程序时 在没有逻辑代码或视图的项目创建之后 我从这个库中获得了内存
  • aio.h aio_read() 和写入内存泄漏

    我正在尝试使用 C 异步读取和写入磁盘 使用 Ubuntu 10 04 中的 posix aio 库 遵循此处概述的说明 一体机教程 http www ibm com developerworks linux library l async
  • Java Spring 应用程序存在内存泄漏。系统非堆内存不断增加

    我已使用 yourkit 分析器监视我的 Web 应用程序 保留最大大小的主要对象是 SessionFactoryImpl webappclassloader 和 CGlib 对象显示 spring crone调度程序会导致内存泄漏吗 我尝

随机推荐

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

    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 使用缓冲响应 并且运行时保持重叠数据即使在返回响应后