小编Kyl*_*e C的帖子

LINQ to SQL 中的堆栈溢出异常

我有一种方法,该方法基于某些参数在给定字符串列表的两个日期之间查找“交易”。当列表 > 1000 时,我在尝试迭代列表时遇到堆栈溢出异常。

这是我的代码

public List<string> CodesWithTransactionsBetweenDates(DateTime startInclusive, DateTime endExclusive, List<string> associatedCodes, int marketId)
    {
        List<string> codesWithTransactionsInPeriod = new List<string>();
        using (var context = new MarketPlaceEntities())
        {
            var transactionList = (from transactions in context.Transactions
                                   where
                                    associatedCodes.Contains(transactions.User.Code) &&
                                    transactions.MarketId == marketId &&
                                    transactions.Date >= startInclusive &&
                                    transactions.Date < endExclusive
                                   group transactions by transactions.User.Code into uniqueIds
                                   select new { UserCode = uniqueIds.Key });
            foreach (var transaction in transactionList)
            {
                codesWithTransactionsInPeriod.Add(transaction.UserCode);
            }
            return codesWithTransactionsInPeriod;
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是堆栈跟踪......它超过了visual studio可以处理的点。

System.Data.Entity.dll!System.Data.Query.InternalTrees.BasicOpVisitor.VisitChildren(System.Data.Query.InternalTrees.Node n) + 0x3 …
Run Code Online (Sandbox Code Playgroud)

c# stack-overflow entity-framework linq-to-sql

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

将const void*转换为没有const_cast的其他指针时出错

功能

int compare(const void* a, const void* b)
{
    SomeDataType g1 = *(static_cast<SomeDataType*>(a));
    SomeDataType g2 = *(static_cast<SomeDataType*>(b));
    g1.firstelement < g2.firstelement ? 1 : -1;
}
Run Code Online (Sandbox Code Playgroud)

此代码返回一个错误,指出"静态强制转换无法从const void*强制转换为SomeDataType*".我使用const_cast之类的

SomeDataType g1 = *(static_cast<SomeDataType*>(const_cast<void*>(a))) ; 
Run Code Online (Sandbox Code Playgroud)

让这个工作.这是一种正确的方法吗?或者我错过了什么?我不太明白这是如何工作的.

c++ casting const

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

为 MMO 登录服务生成安全令牌的算法

我正在为开源 MMO 游戏构建登录服务。我对安全/加密方面的了解不多,我正在寻找一种解决方案,该解决方案可以为黑客提供良好的保护,并且生成成本不能太高。

我们的旧系统使用非常简单的身份验证系统,将密码作为 SHA1 存储在数据库中。对于我们的新服务,我们希望通过用户第一次登录时生成的身份验证令牌进行身份验证,并且在整个会话期间都有效。一个简单的随机生成的字符串是否就足够了,还是我应该查看一些更复杂的东西来保证它的安全?

c++ security authentication encryption

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

在当前时间的5分钟内根据DateTime字段选择最近的行

在SQL Server表中,我有一个DateTime字段,每次外部Web服务登录失败时,我都会将当前的DateTime写入表中.

我目前有代码解析返回并确定在5分钟内是否有> 2次失败.如果是这样,我有一个标志来关闭调用Web服务.我很好奇是否有一种方法可以使用sql来返回当前时间内5分钟内的行数?

sql-server

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