|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛B轰轰的linux,估计也没有系统捆绑c/c++的编译器,而且许多新平台都无法支持复杂的c/c++编译器在上面直接运行。明天在客户何处发明程序报堕落误:
超不时间已到。在操纵完成之前超不时间已过或服务器未呼应
经反省后发明,这是由于页面在读取数据库中的数据时耗时太长,凌驾了默许的30秒。以是报出了以上毛病,办理该成绩的办法是:
一,优化sql语句,进步查询速率
二,延伸sql超时的工夫设置
最好的办法固然是第一种了,这才是治标的办法。但sql优化可不是一件复杂的活,详细的情况有分歧的办法。本章次要看一下怎样经由过程第二种办法来办理成绩。
1,起首设置sql的实行超不时间。
假如我们的sql是间接利用SqlCommand工具来实行的,那末能够设置SqlCommand的CommandTimeout属性的值。
好比:
using(SqlCommandcmd=newSqlCommand(SQLString,connection))
{
cmd.CommandTimeout=180
}
如许我们就设置了cmd的超工夫工夫是180秒。
注重:SqlCommand.CommandTimeout属性的单元为秒,默许值是30。
假如我们的sql是使用SqlDataAdapter工具来猎取数据汇合,那末我们还能够分离经由过程以下办法设置SqlCommand的超不时间。
using(SqlConnectionconnection=GetConnection())
{
……
SqlDataAdaptersqlDA=newSqlDataAdapter();
sqlDA.SelectCommand.CommandTimeout=180;//设置查询sql的超不时间
sqlDA.InsertCommand.CommandTimeout=180;//设置拔出sql的超不时间
sqlDA.UpdateCommand.CommandTimeout=180;//设置修正sql的超不时间
sqlDA.DeleteCommand.CommandTimeout=180;//设置删除sql的超不时间
……
}
大概人人在有些网站上看到以下办理办法
1),在数据库的毗连字符串中增加超不时间设置,以下:
SqlConnectioncon=newSqlConnectionserver=.;database=myDB;uid=sa;pwd=password;ConnectTimeout=180
但我有测试过,有效,也有多是我的测试办法毛病吧!!!
2),设置SqlConnection工具的超不时间。
该办法是一定行欠亨了,由于SqlConnection的ConnectionTimeout属性基本就是个只读属性,不同意设置值。从它的界说就能够看出来了,界说以下:
//
//择要:
//猎取在实验创建毗连时停止实验并天生毛病之前所守候的工夫。
//
//前往了局:
//守候毗连翻开的工夫(以秒为单元)。默许值为15秒。
//
//非常:
//System.ArgumentException:
//所设置的值小于0。
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[ResDescription("SqlConnection_ConnectionTimeout")]
publicoverrideintConnectionTimeout{get;}
2,设置asp.net哀求的超不时间。
在下面的设置中我们有处置了sql的超不时间,但大概你的设置仍是有效。这是为何呢?由于你还没有设置asp.net哀求的超不时间。
要怎样设置asp.net哀求的超不时间呢?修正web.config的httpRunTime节便可,示比方下:
<system.web>
<httpRuntimeexecutionTimeout="180"/>
</system.web>
个中httpRuntime属性与executionTimeout属性的意义分离以下:
httpRuntime:设置ASP.NETHTTP运转时设置,以断定怎样处置对ASP.NET使用程序的哀求。
executionTimeout:设置asp.net封闭前同意产生的上载秒数
设置完这两步,我们的成绩才算的真实的办理了。c++是语言,其实C++和java的应用范围根本就不一样的。在java应用的领域内,c++是不合适的。所以微软才搞了C#和Java对抗。 |
|