Tag: 管理

尝试使用ServerManager获取应用程序池时出现COMException

当我尝试使用以下代码从远程服务器获取IIS应用程序池列表时 List appPools; using (ServerManager serverManager = ServerManager.OpenRemote(“XXX”)) { appPools = serverManager.ApplicationPools.ToList(); } 我得到一个例外: System.Runtime.InteropServices.COMException (0x800706BA): Retrieving the COM class factory for remote component with CLSID {2B72133B-3F5B-4602-8952-803546CE3344} from machine XXX failed due to the following error: 800706ba. 可能导致这种情况的任何想法?

检测即将耗尽的内存(获取“免费物理内存”的数量)

我正在将图像从高FPS相机传输到内存缓冲区(列表)中,并且由于这些图像非常大,因此计算机的内存耗尽非常快。 我想做的是在应用程序内存不足之前停止传输一段时间。 在我的测试过程中,我发现它与“Free Physical Memory”指标一致,接近于零。 现在的问题是我找不到实际以编程方式获取此值的方法; 在XP中,它甚至没有显示在任何地方(仅在Vista / 7任务管理器中)。 我已经尝试了所有可以找到的方法(WMI,性能计数器,MemoryStatus,……),但我从那些方面得到的只是“可用物理内存”,当然不一样。 有任何想法吗? 更新不幸的是,我需要数据在内存中(是的,我知道我不能保证它将在物理内存中,但仍然),因为数据是实时流式传输的,我需要在内存中预览它它被存储在那里。

ODP.NET Oracle.ManagedDataAcess随机ORA-12570错误

我正在尝试从非托管版本迁移到Oracle.ManagedDataAcess并接收randoms ORA-12570 TNS:数据包读取器故障。 我不知道为什么会出现这个错误,但是一旦它开始,每个后续请求都会给出相同的错误大约10-30分钟,然后它会再次运行10-30分钟,依此类推。 因此,随后的失败随机一段时间后随后成功 已经尝试过很多东西,要恢复: 环境: Oracle.ManagedDataAcess版本12.1.2400(4.121.2.20150926)(nuget)(服务器上没有安装可以覆盖bin版本的gac引用) Oracle Server Oracle Database 12c企业版12.1.0.2.0版 – 64位生产 Windows 2012(Windows Update确定) 经过: 防火墙:这不是防火墙问题 计算机错误:我的计算机,Azure WebApp和AWS EC2实例上也出现同样的问题 干扰:没有嗅探器运行,透明代理等。 加密:我不使用任何类型的加密(除非默认情况下启用了一些我不知道的事情) 连接字符串:相同的连接字符串与非托管版本完美配合 附加信息: 这是一个生产数据库,它非常稳定 应用程序编译为anycpu,IIS应用程序池限制为64位 我每次测试完全相同的请求(只是刷新其余的ws,webapi),所以它与数据格式无关 组态: 服务器sqlnet.ora SQLNET.AUTHENTICATION_SERVICES =(NTS) NAMES.DIRECTORY_PATH =(TNSNAMES,EZCONNECT) 应用程序Web.config <!—-> 一些参考: https://community.oracle.com/thread/3634263?start=0&tstart=0 ODP.net托管驱动程序抛出ORA-12570:网络会话:意外的数据包读取错误 使用Oracle Advanced Security Options管理Oracle客户端 IIS中的ODP.NET错误:ORA-12357网络会话文件结束 更新1 池改变后(我在这里描述的答案),我决定发布一个版本来做一些真正的测试。 1天后用户抱怨性能我得到了另一个错误:值不能为空。 参数名称:byteArray 我将引用更改回非托管版本,一切都很好,更快,没有bytearray错误,更好的池管理。 所以我现在只是放弃托管版本,也许我会在下一版本的Oracle上再试一次。 这里有一些关于这个新错误的引用,你可以看到,看起来像另一个错误(仍然没有任何答案)。 https://community.oracle.com/thread/3676588?start=0&tstart=0 EF […]

C#:对象的内存使用情况

有没有办法找到特定对象使用了多少内存? 例如一个List。 考虑到所有因素,例如字符串实习以及编译器/运行时环境/无论做什么。

如何计算私人工作集(内存)?

如何使用C#计算内存的私有工作集? 我感兴趣的是产生与taskmgr.exe大致相同的数字。 我正在使用Process命名空间并使用像WorkingSet64和PrivateMemorySize64这样的方法/数据,但这些数字有时会减少100MB或更多。