【c# – 从外部域(AWS S3)加载映像并将其存储在浏览器内存中】教程文章相关的互联网学习教程文章

c# – 为什么我需要管理员来阅读.NET CLR内存性能计数器

我无法以编程方式(在c#中)找到“.NET CLR Memory”计数器类别,如this问题所示.以管理员身份运行解决了问题. 但为什么我需要这样做呢?还有其他选择吗?我想要只读访问,在我的应用程序中查看GC生成集合以进行性能分析.最好不必使用管理员权限运行应用程序. 编辑: >我可以在性能监视器工具中看到内存性能计数器,而无需以管理员身份运行>如果不以管理员身份运行,我可以通过编程方式获得缩短(但不是空)的性能计数器类别列表,但这不包括...

C#WPF应用程序使用太多内存而GC.GetTotalMemory()为低【代码】

我写了两个线程的WPF应用程序 – 主线程是GUI线程,另一个线程是worker.App有一个带有一些控件的WPF表单.有一个按钮,允许选择目录.选择目录后,应用程序将扫描该目录中的.jpg文件,并检查其缩略图是否在哈希表中.如果他们是,它什么都不做.否则它将他们的完整文件名添加到工作队列.Worker正在从这个队列中获取文件名,加载JPEG图像(使用WPF的JpegBitmapDecoder和BitmapFrame),制作它们的缩略图(使用WPF的TransformedBitmap)并将它们添加...

c# – 是否为对象的函数和属性分配了单独的内存?

这个问题是关于.NET的,但我认为它一般适用.实例化新对象时,该对象中的函数是否也分配了内存?即使他们直到稍后才被召唤? 换句话说,两个具有相同成员变量但具有更多方法的类在实例化时会占用更多内存吗?解决方法:对象实例表示您分配的实例的状态.因此它包含您在相应类型中定义的所有字段和属性的副本. 为给定类型定义的方法保留在另一个数据结构中,从实例本身出来,称为方法表.您分配的每个实例都有一个指针,指向其类型的方法表. 当...

C#使用共享内存与C++进行数据交互

现在做桌面的不多了。前端太流行了,大家都去搞前端了。 需求如下: 上层UI使用C#开发,数据采集模块使用C++开发。数据采集模块采集到的数据比较大,上层需要接收这一块数据并显示 进程间通信的方式有多种,如消息队列、管道、套接字、共享内存、WM_COPYDATA等等 此时,最好的做法就是使用共享内存。因为数据量比较大,当然,数据量不大也可以选用共享内存来进行C#和C++进程间的通信,看自己需求了。

C#.NET Core 2.1跨度和内存性能注意事项【代码】

using System.Buffers;const byte carriageReturn = (byte)'\r'; const int arbitrarySliceStart = 5;// using Memory<T> async Task<int> ReadAsyncWithMemory(Stream sourceStream, int bufferSize) {var buffer = ArrayPool<byte>.Shared.Rent(bufferSize);var bytesRead = await sourceStream.ReadAsync(buffer);var memory = buffer.AsMemory(arbitrarySliceStart, bytesRead);var endOfNumberIndex = memory.Span.IndexOf(ca...

c# – Web应用程序中IronPython内存泄漏的问题【代码】

有没有人成功地让IronPython在Web环境中无问题地运行?我遇到了一些问题. 第一个问题,我实际上并没有运行任何特定于IronPython的脚本,我正在实现Pygments库,因此我可以获得服务器端语法突出显示.该库大约有20个文件. 除了最新的IronPython版本无法将脚本编译成DLL(由于this issue)之外,我确实通过将所有文件和依赖项复制到我的bin文件夹来成功运行. 问题是,我去看看我的w3wp.exe进程在进行突出显示时是如何做的,并注意到一些showst...

c# – 我们如何检测COM Interop应用程序中的内存泄漏?

什么是使用COM互操作的C#winform应用程序检测内存管理问题的最佳方法.引用了COM程序集,其方法用于许多计算和事务. 是否有任何工具可以识别加载到内存但未卸载的对象[interop].解决方法:COM组件的RCW只是一个托管类.任何半开发的.NET内存分析器都会向您显示任何无意中引用的内容.如果COM服务器本身泄漏,那么您将需要一个可以跟踪非托管内存的服务器.这总是需要拥有服务器的源代码,以便您可以准确找出泄漏的内容.并实际做一些事情. 关...

c# – 调用Shutdown()后重新启动log4net内存appender

我的应用程序使用几个appender – FileAppender,MemoryAppender和AdoNetAppender.我有一个命令来重置日志,以便按需创建新文件.这很好用 – 我只需要调用log4net.LogManager.GetRepository().Shutdown(). 我还同时记录到MemoryAppender,我有一个计时器,可以将事件从appender中拉出来并显示在日志窗口中.当我使用上述重置功能时,日志窗口停止显示消息,因为没有记录更多事件. 对于FileAppender,我能够通过在设置正确的文件名后调用A...

c# – 确定在抛出OutOfMemoryException之前可以使用的可用内存

在系统本身内存不足之前,我的应用程序的OutOfMemoryException被抛出,如下所述:MSDN Blogs – Out of memory? Easy ways to increase the memory available to your program.When you run your C# application, you might get an OutOfMemoryException thrown, even if your machine has lots of memory. […] That 4 Gigs is divided into half: the user application gets the lower half and the OS gets the upper. (This bo...

c# – 使用PLINQ对线程计数的内存使用限制

我正在使用PLINQ来数据并行化操作.每个线程消耗大量内存,这些内存根据算法设置而变化,根据算法选项,没有简单的方法来预先计算需要多少内存.当内存要求较低时,最佳线程数为7,系统总数为8;当内存要求很高时,2个线程比1更显着改进,但是一旦使用3个线程,系统就会开始命中分页文件,CPU利用率下降到0,性能变差几百倍. 我希望能够做的是让PLINQ逐步增加线程数,同时监控内存负载,一旦系统耗尽可用的物理内存,在最后一个线程上设置取消令牌,...

c# – 如何从代码监视内存分配【代码】

我有一个Windows服务,最终会抛出“Out of Memory”异常.它是用C#编写的,在Windows 7上运行. 是的,我已经在Stack Overflow以及互联网上的其他地方阅读了有关此内容的现有问题.事实上,我发现一篇由Eric Lippert撰写的精彩文章称为“Out of Memory”并不是指物理记忆,在那里他提供了对这种情况的非常明确的解释. http://blogs.msdn.com/b/ericlippert/archive/2009/06/08/out-of-memory-does-not-refer-to-physical-memory.aspx?PageI...

c# – 内存模型和ThreadPool【代码】

我有一个类NonVolatileTest:public class NonVolatileTest {public bool _loop = true; }我有两个代码示例: 1:private static void Main(string[] args) {NonVolatileTest t = new NonVolatileTest();Task.Run(() => { t._loop = false; });while (t._loop) ;Console.WriteLine("terminated");Console.ReadLine(); }2:private static void Main(string[] args) {NonVolatileTest t = new NonVolatileTest();Task.Run(() => { ...

使用c#Func作为IQueryable的一部分而不执行内存调用【代码】

我正在尝试构建一个将作为IQueryable而不是在内存(IEnumerable)中对数据库执行的查询. 该查询将用于多个不同的目的,每个目的的计算Total属性的方式略有不同. 因为我使用Func来计算总数,所以我得到一个错误,告诉我sql不知道如何处理我的Func的Invoke方法,这是可以理解的. 为了解决这个问题,我不得不通过调用ToList()来将分组列入memor,这对性能不利. 有没有办法可以将此查询作为IQueryable执行?否则我将不得不用计算差异写20次这个...

c# – 在没有内存分配的情况下委托Closure【代码】

我写了一个Thread帮助器类,可以用来在Unity的主线程中执行一段代码. 这是蓝图的功能:public static void executeInUpdate(System.Action action)完整的脚本非常长,会使这个帖子不必要地长.您可以看到脚本助手类here的其余部分. 然后我可以使用另一个Thread中的unity的API,如下所示:UnityThread.executeInUpdate(() => {transform.Rotate(new Vector3(0f, 90f, 0f)); });问题是当我使用在该委托之外声明的变量时,它会分配内存.上面...

c# – Linq选择在内存中执行的不同计数【代码】

我正在努力了解LINQ如何转换为SQL. 我有以下查询,我正在尝试使用LINQ生成.SELECT [OrganizationId],[DepartmentId],[LocationName],[Group1],[Group2],[Group3],[BooklistId],[BooklistName],COUNT(DISTINCT [OrdererId]),MAX([ExpectedDate]) FROM [Orders] WHERE ([DepartmentId] IS NOT NULL AND ([DepartmentId] = '<Guid>')) AND ([Schoolyear] = '2018') GROUP BY [OrganizationId],[DepartmentId],[LocationName],[Group1],...

加载 - 相关标签