请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

unimaallan

金牌服务用户

179

主题

891

帖子

3320

积分

金牌服务用户

积分
3320
unimaallan
金牌服务用户   /  发表于:2021-12-20 16:31  /   查看:1531  /  回复:6
1金币
/Home/GetTableDataWithOffset
Internal Server Error
Request Exception Happened-------------------------------
Path/Home/GetTableDataWithOffset
UserName:administrator
{
  "ClassName": "System.Data.SqlClient.SqlException",
  "Message": "Connection Timeout Expired.  The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement.  This could be because the pre-login handshake failed or the server was unable to respond back in time.  The duration spent while attempting to connect to this server was - [Pre-Login] initialization=9516; handshake=5498; ",
  "Data": {
    "$type": "System.Collections.ListDictionaryInternal, System.Private.CoreLib",
    "HelpLink.ProdName": "Microsoft SQL Server",
    "HelpLink.EvtSrc": "MSSQLServer",
    "HelpLink.EvtID": "-2",
    "HelpLink.BaseHelpUrl": "https://go.microsoft.com/fwlink",
    "HelpLink.LinkId": "20476",
    "SqlError 1": "System.Data.SqlClient.SqlError: Connection Timeout Expired.  The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement.  This could be because the pre-login handshake failed or the server was unable to respond back in time.  The duration spent while attempting to connect to this server was - [Pre-Login] initialization=9516; handshake=5498; "
  },
  "InnerException": {
    "$type": "System.ComponentModel.Win32Exception, Microsoft.Win32.Primitives",
    "ClassName": "System.ComponentModel.Win32Exception",
    "Message": "等待的操作过时。",
    "Data": null,
    "InnerException": null,
    "HelpURL": null,
    "StackTraceString": null,
    "RemoteStackTraceString": null,
    "RemoteStackIndex": 0,
    "ExceptionMethod": null,
    "HResult": -2147467259,
    "Source": null,
    "WatsonBuckets": null,
    "NativeErrorCode": 258
  },
  "HelpURL": null,
  "StackTraceString": "   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionPool.WaitForPendingOpen()
--- End of stack trace from previous location where exception was thrown ---
   at Forguncy.DataSourceBase.CommandExecutor.a(DataSourceBase A_0, CommandExecutor A_1, Boolean A_2)
   at Forguncy.DataSourceBase.CommandExecutor.CreateAsync(DataSourceBase dataSource)
   at Forguncy.DataSourceBase.FillTableAsync(String commandText, IEnumerable`1 parameters)
   at ForguncyDataAccess.DataAccess.a(String A_0, String A_1, DataBaseType A_2, DbParameter[] A_3)
   at ForguncyDataAccess.DataAccess.SelectAsync(List`1 columnBindingInfos, ISqlCondition selectCondition, TopSqlConditionBase topCondition, String tableName, OrderBySqlCondition orderByCondition, OffsetSqlCondition offsetCondition, Boolean useGroupBy)
   at Forguncy.Server2.b.SelectAsync(List`1 columnBindingInfos, ISqlCondition selectCondition, TopSqlConditionBase topCondition, String tableName, OrderBySqlCondition orderByCondition, OffsetSqlCondition offsetCondition, Boolean useGroupBy)
   at ForguncyDataAccess.DataAccess.GetDetailDataTableAsync(List`1 columnBindingInfos, ISqlCondition sqlCondition, TopSqlConditionBase topCondition, OrderBySqlCondition orderByCondition, List`1 primaryKeys, OffsetSqlCondition offsetCondition, Boolean distinct)
   at ForguncyDataAccess.DataAccess.GetDataTableAsync(List`1 columnBindingInfos, ISqlCondition sqlCondition, TopSqlConditionBase topCondition, List`1 primaryKeys, OrderBySqlCondition orderByCondition, OffsetSqlCondition offsetCondition, Boolean distinct)
   at Forguncy.Server2.b.GetDataTableAsync(List`1 columnBindingInfos, ISqlCondition sqlCondition, TopSqlConditionBase topCondition, List`1 primaryKeys, OrderBySqlCondition orderByCondition, OffsetSqlCondition offsetCondition, Boolean distinct)
   at Forguncy.Server2.Controllers.HomeController.a(List`1 A_0, CurrentRowInfo A_1, Int32 A_2, OffsetSqlCondition A_3, Boolean A_4, ISqlCondition A_5, TopSqlConditionBase A_6, OrderBySqlCondition A_7, List`1 A_8, IDataAccess A_9, Boolean A_10)
   at Forguncy.Server2.Controllers.HomeController.a(List`1 A_0, CurrentRowInfo A_1, Int32 A_2, Int32 A_3, Boolean A_4, QueryCommandInfo A_5, List`1 A_6, String A_7, OffsetSqlCondition A_8, Boolean A_9, ColumnFilterQuery[] A_10, Boolean A_11, List`1 A_12, Boolean A_13)
   at Forguncy.Server2.Controllers.HomeController.a(List`1 A_0, CurrentRowInfo A_1, Int32 A_2, Int32 A_3, Boolean A_4, QueryCommandInfo A_5, List`1 A_6, String A_7, OffsetSqlCondition A_8, Boolean A_9, ColumnFilterQuery[] A_10, Boolean A_11, List`1 A_12, Boolean A_13)
   at Forguncy.Server2.Controllers.HomeController.GetTableDataWithOffset(GetTableDataWithOffsetParam data)
   at lambda_method(Closure , Object )
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionI
再开一次,又秒开


附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

根据您上面提供的信息,看到您这里是从F12中获得的信息,且服务器和数据库部署在不同的机器,造成这个问题的原因大概率是由于服务器到数据库的连接不稳定,导致的连接超时。数据库本身会有一个超时时间,当连接时间过长,超过这个设定时间时,会被认为是连接超时,并抛出以上错误。 这个主要属于您网络方面的问题了,可以联系一下网络相关的管理人员,尝试从这方面去测试和优化。 针对于这种网络不稳定的情况,您可以尝试这样 ...

6 个回复

倒序浏览
最佳答案
最佳答案
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-12-20 16:31:30
来自 5#
根据您上面提供的信息,看到您这里是从F12中获得的信息,且服务器和数据库部署在不同的机器,造成这个问题的原因大概率是由于服务器到数据库的连接不稳定,导致的连接超时。数据库本身会有一个超时时间,当连接时间过长,超过这个设定时间时,会被认为是连接超时,并抛出以上错误。
这个主要属于您网络方面的问题了,可以联系一下网络相关的管理人员,尝试从这方面去测试和优化。

针对于这种网络不稳定的情况,您可以尝试这样做:
1.您可以在活字格中,连接属性、高级设定当中,将这里的超时时间设置的更长一些,看看是否有改善;

2.另外,您也可以尝试在对应的外联库中,检查一下外联库中设置的超时时间,如果比较短,也可以稍微改长一些。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
sun201
注册会员   /  发表于:2021-12-20 16:43:44
2#
检查是否安装了网络加速软件,若有可删除后再试。
如多玩英雄联盟盒子,使用过盒子自带的巡游加速器。

回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-12-20 16:49:21
3#
问题看起来是某一个表或者视图,因为一些问题加载不出来,有可能是视图比较复杂SQL运行结果需要很长时间,也许是数据库机器的网络突然不好了

我们需要知道更多的信息:
1.这个是你F12出来的还是操作日志出来的?
2.你的数据库和活字格服务端部署的机器是在同一台机器部署的吗?
3.你的这个数据库是什么数据库?
4.你的这个是视图还是表?
5.如果是视图的话,能不能把这个使用的SQL给我截图看一下,我担心他很复杂,或者嵌套层数太多(比如一个视图嵌一个视图,结果搞了10几层)

如果给了以上信息,以后我还是猜不出原因的话,我们可能要远程看看这个问题
回复 使用道具 举报
unimaallan
金牌服务用户   /  发表于:2021-12-20 17:29:09
4#
本帖最后由 unimaallan 于 2021-12-20 17:32 编辑
Simon.hu 发表于 2021-12-20 16:49
问题看起来是某一个表或者视图,因为一些问题加载不出来,有可能是视图比较复杂SQL运行结果需要很长时间, ...

1.这个是你F12出来的还是操作日志出来的?
按 F12 出来的
2、你的数据库和活字格服务端部署的机器是在同一台机器部署的吗?
同一网段,不同的机子,外联库
3、你的这个数据库是什么数据库?
Sqlserver
4、你的这个是视图还是表?
视图
SELECT a.ID as V_Data_ID_M, a.FGC_Creator, a.FGC_CreateDate, a.FGC_LastModifier, a.FGC_LastModifyDate, a.FGC_Rowversion, a.FGC_UpdateHelp, a.Sys_Name, a.Company_ID, a.Company_Name, a.F_UUID, a.培训主题, a.主讲人编码, a.主讲人姓名,a.辅讲人, a.培训方式, a.培训时间, a.培训地点, a.参加人员, a.内容概述, a.培训照片01, a.培训照片03, a.培训照片04,a.培训照片02
FROM  PX_培训实施记录_主表 AS a
只有一个表,并且有不到5笔数据

使用过程中,经常发生,数据库使用的是外联库,基本上都会有发生过,一直在转圈圈,关闭页签,再开,秒开
回复 使用道具 举报
unimaallan
金牌服务用户   /  发表于:2021-12-20 18:19:12
6#
好的,我试试看,其实我还发现一个奇怪的现像,反而数据量大的表,出现的概率比较低,比如我有些视图是连用友软件的,那个数据量是比较大的,反而很少出现,我的外联库和用友这个数据库是在同一台机子
回复 使用道具 举报
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-12-21 10:01:24
7#
unimaallan 发表于 2021-12-20 18:19
好的,我试试看,其实我还发现一个奇怪的现像,反而数据量大的表,出现的概率比较低,比如我有些视图是连用 ...

根据您的描述,感觉和这个数据库本身有关,您可以先检查一下您这个外联库的连接策略和超时时间等这些与数据库连接有关的设置。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部