小编IDi*_*ble的帖子

查询在.Net SqlCommand.ExecuteNonQuery中超时,适用于SQL Server Management Studio

更新:问题解决了,并保持解决. 如果您想查看该网站的运行情况,请访问Tweet08

我有几个查询在SSMS中与在我的.Net应用程序中运行时的行为不同.SSMS在一秒钟内执行正常..Net调用在120秒后超时(连接默认超时).

我做了一个SQL跟踪(并收集了一切)我已经看到连接选项是相同的(并匹配SQL Server的默认值).然而,SHOWPLAN All在行估计中显示出巨大的差异,因此工作版本会使用激进的表Spool,因为失败的调用没有.

在SSMS中,临时变量的数据类型基于.Net中生成的SQL参数,因此它们是相同的.

在VS2008调试会话中,在Cassini下执行失败.成功归功于SSMS 2008.两者都在同一台机器上的同一网络上运行相同的目标服务器.

SSMS中的查询:

DECLARE @ContentTableID0 TINYINT
DECLARE @EntryTag1 INT
DECLARE @ContentTableID2 TINYINT
DECLARE @FieldCheckId3 INT
DECLARE @FieldCheckValue3 VARCHAR(128)
DECLARE @FieldCheckId5 INT
DECLARE @FieldCheckValue5 VARCHAR(128)
DECLARE @FieldCheckId7 INT 
DECLARE @FieldCheckValue7 VARCHAR(128)
SET @ContentTableID0= 3
SET @EntryTag1= 8
SET @ContentTableID2= 2
SET @FieldCheckId3= 14
SET @FieldCheckValue3= 'igor'
SET @FieldCheckId5= 33
SET @FieldCheckValue5= 'a'
SET @FieldCheckId7= 34
SET @FieldCheckValue7= 'a'

SELECT COUNT_BIG(*)
FROM dbo.ContentEntry AS mainCE
WHERE GetUTCDate() BETWEEN mainCE.CreatedOn AND mainCE.ExpiredOn
AND …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server ssms timeout

7
推荐指数
1
解决办法
3674
查看次数

实体框架5使用SaveChanges添加审核日志

似乎直接覆盖EF中的SaveChanges以添加审计记录器.请参阅ApplyAuditLogging方法以设置下面的审计属性(创建,创建,更新,更新).

   public override int SaveChanges()
    {
        var autoDetectChanges = Configuration.AutoDetectChangesEnabled;

        try
        {
            Configuration.AutoDetectChangesEnabled = false;
            ChangeTracker.DetectChanges();
            var errors = GetValidationErrors().ToList();
            if(errors.Any())
            {
                throw new DbEntityValidationException("Validation errors were found during save: " + errors);
            }

            foreach (var entry in ChangeTracker.Entries().Where(e => e.State == EntityState.Added || e.State == EntityState.Modified))
            {
                ApplyAuditLogging(entry);
            }

            ChangeTracker.DetectChanges();

            Configuration.ValidateOnSaveEnabled = false;

            return base.SaveChanges();
        }
        finally
        {
            Configuration.AutoDetectChangesEnabled = autoDetectChanges;
        }
    }

    private static void ApplyAuditLogging(DbEntityEntry entityEntry)
    {

        var logger = entityEntry.Entity as IAuditLogger;
        if (logger == null) …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc entity-framework savechanges

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

如何使用RNGCryptoServiceProvider根据我的首选字符创建随机密码?

我目前正在创建一个随机密码是这样的:

    public static int getRandomNumber(int maxNumber)
    {
        if (maxNumber < 1)
            throw new System.Exception("The maxNumber value should be greater than 1");
        byte[] b = new byte[4];
        new System.Security.Cryptography.RNGCryptoServiceProvider().GetBytes(b);
        int seed = (b[0] & 0x7f) << 24 | b[1] << 16 | b[2] << 8 | b[3];
        System.Random r = new System.Random(seed);
        return r.Next(1, maxNumber);
    }
Run Code Online (Sandbox Code Playgroud)

一些可能的问题?这是一个静态函数,有一些奇怪的种子模式可能不安全,仍然使用System.Random().

使用上面的随机数生成器,我以这种低效的方式创建一个字符串:

  validCharacters = "abcdefghjkmnoxyz023456789#!@";
Run Code Online (Sandbox Code Playgroud)

然后使用有效数组循环并获取"createPassword(length)"类型字符串(注意使用不包含容错字符的字符集,如1 i等).

这是如何做到的,还是有更简单,更安全,更有效的方式

c# random rngcryptoserviceprovider

6
推荐指数
1
解决办法
3654
查看次数

什么字符集应该用于 Location: 301 响应中的标头?

尝试cot.ag/o1LnfW从 .NET 使用 HttpWebRequest使用 URI ,我得到 301 Moved 响应,响应头 Location 有一个(不正确的)值:

http://www.joycemeyer.org/BroadcastHome.aspx?video=Living_Beyond_Your_Feelings_â_Pt_1&utm_source=Twitter&utm_campaign=EEL&utm_medium=post&utm_term=September29&utm_content=post

从 Fiddler,我得到了(正确的)Location 标头值:

http://www.joycemeyer.org/BroadcastHome.aspx?video=Living_Beyond_Your_Feelings_–_Pt_1&utm_source=Twitter&utm_campaign=EEL&utm_medium=post&utm_term=September29&utm_content=post

注意到 - 在 Fiddler URL 中出现的不同之处。在 Fiddler 的情况下,字节是 E2 80 93。在 .Net 的情况下,字节是 E2 3F 3F。这会导致不正确的标头解释,随后无法遵循重定向。

我认为这是一个 .NET 框架错误,但我不知道 RFC 说它应该作为什么发送。我应该将此作为错误报告给 Microsoft,还是 bit.ly 在提供错误代码页中的标头时失败?

encoding location rfc httpwebrequest httpwebresponse

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