小编Sid*_*awy的帖子

在x64和x86上,实体框架的旋转速度要慢得多

我的同事昨天发布了这个问题:即使对于微小的DbContext,7秒的EF启动时间.

在获取代码并将其移至单独的解决方案以尽可能地隔离它之后,我发现包含项目的平台目标对EF启动过程的运行时有深远的影响.

当针对x64时,我看到测试需要大约7秒来启动第一个DbContext并且<1秒来启动第二个DbContext(与我的同事的调查结果一致,也是针对x64).但是,当我将平台目标切换到x86时,第一个DbContext旋转时间减少了大约4秒,减少到3.34633秒,而第二个DbContext花费了与x64情况相同的时间.

鉴于此,当针对64位系统和32位系统时,实体框架似乎正在经历一个完全不同的初始化过程.有没有人能够深入了解引擎盖下的内容来解释这个问题?

c# performance 64-bit x86 entity-framework

21
推荐指数
1
解决办法
1404
查看次数

c#MemoryStream编码与 Encoding.GetChars()

我试图从数据库中复制字节流,对其进行编码,最后将其显示在网页上.但是,我注意到以不同方式编码内容的不同行为(注意:我使用的是"西欧"编码,它具有拉丁字符集且不支持中文字符):

var encoding = Encoding.GetEncoding(1252 /*Western European*/);
using (var fileStream = new StreamReader(new MemoryStream(content), encoding))
{
    var str = fileStream.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)

比.

var encoding = Encoding.GetEncoding(1252 /*Western European*/);
var str = new string(encoding.GetChars(content));
Run Code Online (Sandbox Code Playgroud)

如果内容包含中文字符,则第一个代码块将产生一个类似"D $教学而设计的"的字符串,这是不正确的,因为编码不应该支持这些字符,而第二个块将产生"D $æ• ™å||€Œè®¾è®¡ç"""这是正确的,因为这些都是西欧字符集.

这种行为差异的解释是什么?

c# character-encoding streamreader

8
推荐指数
1
解决办法
1万
查看次数

确定sql server计划何时会在一段时间内触发?

在我管理的系统中,有几个SQL Server代理作业基于dbo.sysschedules中定义的计划运行.

我想在我的应用程序上创建一个日历视图,该日历视图将在每个作业被安排在给定时间跨度内运行时显示.例如,如果我将计划设置为在该月的第一个和第四个星期一上午8:00运行,那么给定当月的时间跨度(2013年4月),我希望得到日​​期"4/1"/2013 8:00 AM,4/22/2013 8:00 AM"回来.

有没有人遇到过实现这个的方法?我知道我可以阅读时间表定义并以务实的方式解决这个问题,但我很好奇是否有人在我自己进入杂草之前已经提出了解决方案.

谢谢!

sql-server scheduling

5
推荐指数
1
解决办法
1266
查看次数