Tag: 性能

ASP.NET文件上载控件允许的最大文件大小

我在ASP.Net中使用文件上传控件,遵循以下博客方法。 http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx 4MB默认值在machine.config中设置,但您可以在web.config中覆盖它。 例如,要将上传限制扩展到20MB,您可以这样做: 问题:如果我们允许用户上传50-60 MB文件,那么我可以增加所请求的长度以及对网站的性能影响。

如何提高GDI的DrawImage(Unscaled)的性能?

在我的用户控件的绘制处理程序中,我遍历一组预定义的Bitmap对象,并将它们绘制到客户区: C#版本: private void Control_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; foreach (BitmapObj bmpObj in _bitmapObjCollection) { g.DrawImageUnscaled(bmpObj.Bitmap, bmpObj.Location); } } VB.NET版本: Private Sub Control_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint Dim g As Graphics = e.Graphics For Each bmpObj As BitmapObj In _bitmapObjCollection g.DrawImageUnscaled(bmpObj.Bitmap, bmpObj.Location) Next End Sub 代码工作正常但是当十几个对象添加到集合时开始陷入困境。 […]

在.NET中使用属性的性能开销

1 ..属性的使用是否有任何性能开销? 想想一个类: public class MyClass { int Count {get;set;} } 它有10个属性(属性是类,其中属性类本身比MyClass本身大,如: public class FirstAttribute : Attribute { int A,B,C,D,E,F,G,H,I,J … {get;set;} } 2 ..每次MyClass实例化时,其中10个属性是否是内存开销? ( FirstAttribute是MyClass大小的10倍,将使用其中的10个进行修饰,因此实际对象本身与其上装饰的属性的总大小相比非常小。)这是一个问题吗? 3 ..这种情况对于结构是否有任何不同(结构是值类型和属性是引用类型)? 4 ..存储在内存中的属性与它们所附着的对象有何关系? 他们是如何联系在一起的? 5 ..一旦初始化MyClass或使用reflection检索属性,属性是否已初始化?

Winforms:避免冻结应用程序

我在“大”文件上做了一些操作(大约4Mb) 我这样做:1。从目录中获取所有文件并将它们放在IList中MyInfoClass具有以下属性:name,extension,fullPath,creationDate,contentPart 2.我执行Linq查询以仅获取某些扩展类型。 3.我循环查询Linq查询结果,每次打开文件,执行一些操作(获取值)并将结果放入MyFileIno.ContentPart。 仅供参考:30个文件,这是一个14秒的操作 这是工作。 问题是,当我从UI运行我的库时,当我单击按钮时,窗口在操作期间冻结。 我想要 : 解冻不冻结表格 看进度操作 你能给我解决这类问题的最佳实践吗? 谢谢, 码 public class FileManager { public string CurrentFileName { get; set; } public void Validation(string path) { IList listFile = GetListFile(path); foreach (InfoFile item in listFile) { CurrentFileName = item.Name; ….. } } } private void button1_Click(object sender, EventArgs e) { var […]

.pdbs是否会降低发布应用程序的速度?

如果.dll中包含.pdb(程序调试)文件,则会在抛出的任何exception的堆栈跟踪中显示行号。 这会影响应用程序的性能吗? 这个问题不是关于发布与调试,即优化。 它是关于拥有.pdb文件的性能影响。 每次抛出exception时都会读取.pdb文件吗? 加载程序集时,信息是否以某种方式缓存? 或者它是在第一次抛出相关exception时缓存的? 它有多大区别?

在这种情况下,为什么使用AsParallel()比foreach慢?

我正在从这种格式的excel中提取数据 product1 | unnamedcol2 | product2 | unnamedcol4 | product3 | unnamedcol6 | ————————————————– —————————– @ 1foo | 1.10 | @ 1foo | 0.3 | @ 1foo | 0.3 @ 2foo | 1.00 | @ 2foo | 2 | @ 2foo | @ 3foo | 1.52 | @ 3foo | 2.53 | @ 3foo | […]

在文字值的相等比较中,操作数的顺序是否重要?

我习惯把代码写成(只是一个例子) Request.QueryString[“xxxx”] != null 最近有人这么说 null != Request.QueryString[“xxxx”] 提供更好的表现。 我很想知道它是否真的带来了任何不同,如果是这样的话怎么样? 注意〜以上只是一个例子。 一般来说 是否 Constant [Operator] Actual Value (eg 1 == Convert.ToInt32(textbox1.text)) 比…更好 Actual Value [Operator] Constant (eg Convert.ToInt32(textbox1.text) == 1) 谢谢

作为数组间接c ++返回数据的更快方法

这是一个非常干净和漂亮的解决方案,从非托管C ++代码marsahall结构数组。 它是最简单的完美解决方案,我花了一些时间来理解这个概念,所以在几行代码中,你可以看到C# Main() ,我有一个填充的struct数组准备好’收获’.. typedef struct { int Id; BSTR StrVal; }Package; extern “C” __declspec(dllexport) void dodata(int requestedLength,int StringSize, Package **Packs){ int count; count=0; *Packs = (Package*)LocalAlloc(0, requestedLength * sizeof(Package)); Package *Cur = *Packs; while(count!= requestedLength) { Cur[count].StrVal = NULL; Cur[count].Id = count; Cur[count].StrVal=SysAllocString(L”abcdefghij”); Cur[count].StrVal[StringSize-1]=count+’0′; ++count; } } C# [DllImport(@”ExportStructArr.dll”, CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] […]

DataTable是否比List 消耗更多内存?

是否在性能方面有所折衷,在内存消耗方面有所折衷?

预加载所有组件(JIT)

我们正在第一次加载一些重型UI屏幕。 我们的项目分为一个主要的可执行文件和几个DLL文件。 DLL文件还可以包含UI屏幕,这些屏幕在第一次加载时很慢。 有没有办法(在代码中)我们可以预加载所有引用的程序集,以避免JIT编译命中? 我知道有一种名为NGen的工具。 是否有可能在开发环境中运行NGen,以便我们可以立即看到它的影响? 但理想情况下,我们希望从代码中预加载引用的程序集。 使用C#.NET 3.5和DevExpress作为UI组件。