当前位置 : 主页 > 编程语言 > c语言 >

.net – C#线程和Sql连接

来源:互联网 收集:自由互联 发布时间:2021-06-25
我有一个方法尝试更新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();
网友评论