Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Elmah日志错误超时导致程序崩溃_C#_Database_Elmah - Fatal编程技术网

C# Elmah日志错误超时导致程序崩溃

C# Elmah日志错误超时导致程序崩溃,c#,database,elmah,C#,Database,Elmah,我有一个问题,我的程序可能会发生许多错误(例如:从文件中读取数据,如果发生数据错误,则应记录数据)。我目前正在使用elmah将错误记录到SQL数据库中。数据库的Elmah log error函数可能导致超时,程序将崩溃。是否有增加elmah函数超时的设置,或者我使用elmah记录错误的方法是错误的?如果超时是当前执行insert命令的超时,则需要通过代码设置延长的超时。据我所知,实现这一点的唯一方法是分叉ELMAH代码并手动设置: command.CommandTimeout=1; 有一个连接

我有一个问题,我的程序可能会发生许多错误(例如:从文件中读取数据,如果发生数据错误,则应记录数据)。我目前正在使用elmah将错误记录到SQL数据库中。数据库的Elmah log error函数可能导致超时,程序将崩溃。是否有增加elmah函数超时的设置,或者我使用elmah记录错误的方法是错误的?

如果超时是当前执行insert命令的超时,则需要通过代码设置延长的超时。据我所知,实现这一点的唯一方法是分叉ELMAH代码并手动设置:

command.CommandTimeout=1;
有一个连接超时,您可以尝试通过连接字符串设置,但这只是用于连接,听起来这不是问题所在:

Data Source=...;Initial Catalog=...;Integrated Security=SSPI;Connection Timeout=30

嗨,谢谢你的回答。ErrorSignal.FromCurrentContext().Raise(新异常(消息));和Elmah.ErrorLog.GetDefault(null.Log)(新的Elmah.Error(新的异常(消息));有没有办法在这个2函数中设置CommandTimeout?不是CommandTimeout,不是。该值只能在代码中设置,并且在ELMAH源代码中设置。如前所述,您可以克隆代码并自己插入超时。但是拥有一个修改过的代码副本并不理想。也许能找出执行超时的原因?必须是数据库连接速度慢、网络问题或类似问题?可能是由于表太大,目前的临时解决方案是将旧记录备份到另一个表。谢谢你的帮助。