ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

如何在执行C#Azure函数期间避免SqlClient超时错误?

2019-10-25 09:07:40  阅读:179  来源: 互联网

标签:azure azure-functions c stored-procedures azure-sql-server


我已经使用C#创建了一个功能应用程序时间触发器.
在逻辑内部,我调用并执行在SQL Server中创建的存储过程.

存储的proc的执行耗时超过8分钟,并且在Azure函数应用日志中出现以下错误:

2018-04-02T11:03:46.409 [Error] Exception while executing function:
Functions.AbarIomWeeklyUsage. mscorlib: Exception has been thrown by
the target of an invocation. .Net SqlClient Data Provider: Execution
Timeout Expired. The timeout period elapsed prior to completion of
the operation or the server is not responding. The wait operation
timed out. 2018-04-02T11:03:46.425 [Error] Function completed
(Failure, Id=1b85e7ef-ea52-4fd3-ab79-f27d188c5cac, Duration=30323ms)

到目前为止,我尝试了2件事:
1.利用应用程序连接字符串中的连接超时
2.在host.json中添加超时

但这仍然给我同样的错误30秒超时.

任何人都经历过相同的事情或对此有解决方案?

解决方法:

您肯定超出了默认命令超时(默认为30秒).如果未设置SqlCommand.CommandTimeout,则将获得SqlException.将代码中的命令的CommandTimeout设置为10分钟(600秒)(此功能没有配置),与函数超时相同.

标签:azure,azure-functions,c,stored-procedures,azure-sql-server
来源: https://codeday.me/bug/20191025/1927255.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有