.net – C#线程和Sql连接
发布时间:2020-12-16 01:35:20 所属栏目:百科 来源:网络整理
导读:我有一个方法尝试更新ASP.NET应用程序中的SQL Server数据库.如果更新失败,它将捕获异常,然后在MSMQ中对更新进行排队,然后旋转一个新线程,该线程稍后将对挂起的更新进行排队,然后重试.线程启动时,无法打开数据库连接,因为它尝试使用网络服务作为登录进行连接.
我有一个方法尝试更新ASP.NET应用程序中的SQL Server数据库.如果更新失败,它将捕获异常,然后在MSMQ中对更新进行排队,然后旋转一个新线程,该线程稍后将对挂起的更新进行排队,然后重试.线程启动时,无法打开数据库连接,因为它尝试使用网络服务作为登录进行连接. sql连接使用
Windows身份验证,并且将在该线程之外工作.如果我在新线程内执行的代码中放置一个断点并检查Thread.CurrentPrincipal,它会将Identity显示为正确的用户.为什么网络服务帐户尝试打开sql连接?
我可以进一步详细说明是必要的. 谢谢. 解决方法
我根据这个帖子想出来了:
http://bytes.com/topic/asp-net/answers/597465-simple-thread-issue 我不得不将它添加到线程代码块的顶部: ((WindowsIdentity)Thread.CurrentPrincipal.Identity).Impersonate(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |