各位大侠:
  我今天在部署web应用时,遇到一个问题,当数据库和web应用都在内网时,应用一切正常。当把web应用移到外网服务器(防火墙安全级别比较高)时,web应用服务器连接数据库服务器,当取多数据时就会老报以下这个异常:
   System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)
   at System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()。
  比如:[table]有5000条记录,用select top 33 * from [table]  正常。当取多余34条数据时就会报上述那个异常:select top 35 * from [table];数据库执行这条语句只有几毫秒.
  各位高手有没有什么好的解决方法