我有一个版本化的Visual Studio项目,有4个人可以进行修改。
在此项目中,有一个XSD文件,我们在其中加载SQL Server存储过程以在 Reporting Services 中使用。
问题在于某些存储过程需要30秒钟以上的时间,具体取决于参数,并且这些过程已链接到报表,因此,默认情况下,当某个过程耗时30秒以上时,程序将引发异常,指示等待时间达到过期。
我已经搜索了互联网,并指出解决方案是 CommandTimeout 属性:
def static_vars(**kwargs):
def decorate(func):
for k in kwargs:
setattr(func, k, kwargs[k])
return func
return decorate
@static_vars(counter=0)
def clicked(event):
clicked.counter += 1
通过将其放入Designer文件(Myxsd.Designer.cs)中并测试功能,结果令人满意,
重点是,如果我通过设计器向xsd文件中添加新的TableAdapter,则我放置的代码行将被删除,就好像设计器删除了所有代码并将其放回原处。
我试图将 Timeout 属性放在连接字符串(app.config)中,以控制所有过程的超时:
this.Adapter.SelectCommand.CommandTimeout = 0;
清理,编译,我通过设计器XSD验证了连接字符串是否与上面相同,但是超时问题仍然存在。
对此有什么解决办法吗?