03 2012 档案
摘要:发现网上到处都是com操作获取的代码,下面是4.0中引入新类DriverInfo的代码,希望能有帮助。privatelongGetFreeDiskSpaceInBytes(DirectoryInfodir){//dir.RootDriveInfo[]allDrives=DriveInfo.GetDrives();vardirver=allDrives.SingleOrDefault(di=>di.Name==dir.Root.Name);if(dirver!=null){returndirver.TotalFreeSpace;}return0;}
阅读全文
摘要:publicstaticstringGetFriendlySizeStr(stringsrcPath){varsize=0l;size=GetDirSizeInBytes(srcPath);varunit=1024;varkb=unit;if(size<10*kb){returnstring.Format("{0}Bytes",size);}varmb=kb*unit;if(size<10*mb){returnstring.Format("{0}.{1}KB",size/kb,size%kb);}vargb=mb*unit;if(size&l
阅读全文
摘要:计算和计算所需的数据能被较为平均的非配到若干task的时候,下面的任务管理类可以提供在大数据大计算量的情况下非精确的控制task的执行数量来限制计算量和内存占用量.下面是代码(非线程安全版本):publicclassMutilTaskManager{privatereadonlyint_maxRun;privatereadonlyint_maxQuenen;privateList<Task>_taskRunningList;privatereadonlyQueue<Task>_taskQueue;publicboolIsQueueFull{get{return_task
阅读全文
摘要:转自stackoverflow:http://stackoverflow.com/questions/115983/how-do-i-add-an-empty-directory-to-a-git-repositoryAnother way to make a directory stay empty (in the repo) is to create a .gitignore inside that directory that contains two lines:在空目录下创建.gitignore文件。文件内写入如下代码,可以排除空目录下所有文件被跟踪: # Ignore eve...
阅读全文
摘要:这个问题是在处理层级查询上出现的,按照以前的经验当查询A以及A的子集合B[]的时候join一下比分两次查询快,但是当子集合比较多等原因的时候时间不是线性增长而是指数,原因应该是重复数据带来的效率负载增加,比如第一种我的单元测试时间Duration在4-6左右,当增加到3个子集合的时候就在14-22之间了,而Ef中的做法是把每个join结果unicon 起来,看着那么大串的数据不慢才怪,还是乖乖分开了。时间如图:测试代码:publicclassModelTesting{privateEFContext_dbContext;publicModelTesting(){stringcnn=Syste.
阅读全文
摘要:Quartz1.X中CronTrigger会在初始化后自动启动的问题,可能跟CronTrigger中的策略有关,可以如下解决:trigger.StartTimeUtc = TriggerUtils.GetEvenMinuteDate(DateTime.UtcNow);也可以设置为第二天开始,视具体情况
阅读全文
摘要:SETTRANSACTIONISOLATIONLEVELREADUNCOMMITTEDSELECTTOP20ROUND(s.avg_total_user_cost*s.avg_user_impact*(s.user_seeks+s.user_scans),0)AS[TotalCost],s.avg_user_impact,d.statementASTableName,d.equality_columns,d.inequality_columns,d.included_columnsFROMsys.dm_db_missing_index_groupsgINNERJOINsys.dm_db_mis
阅读全文
摘要:SETTRANSACTIONISOLATIONLEVELREADUNCOMMITTEDSELECTTOP20CAST(qs.total_elapsed_time/1000000.0ASDECIMAL(28,2))AS[TotalElapsedDuration(s)],qs.execution_count,SUBSTRING(qt.text,(qs.statement_start_offset/2)+1,((CASEWHENqs.statement_end_offset=-1THENLEN(CONVERT(NVARCHAR(MAX),qt.text))*2ELSEqs.statement_end
阅读全文