请问关于.NET和C语言结合应用有哪些最佳实践?
- 内容介绍
- 文章标签
- 相关推荐
本文共计295个文字,预计阅读时间需要2分钟。
我开发了一种方法来更新ASP.NET应用程序中的SQL Server数据库。如果更新失败,它会捕获异常,然后在MSMQ中对更新进行排队,随后启动一个新线程,该线程完成后再对挂起的更新进行排队,最后进行重试。
我有一个方法尝试更新ASP.NET应用程序中的SQL Server数据库.如果更新失败,它将捕获异常,然后在MSMQ中对更新进行排队,然后旋转一个新线程,该线程稍后将对挂起的更新进行排队,然后重试.线程启动时,无法打开数据库连接,因为它尝试使用网络服务作为登录进行连接. sql连接使用 Windows身份验证,并且将在该线程之外工作.如果我在新线程内执行的代码中放置一个断点并检查Thread.CurrentPrincipal,它会将Identity显示为正确的用户.为什么网络服务帐户尝试打开sql连接?我可以进一步详细说明是必要的.
谢谢.
我根据这个帖子想出来了:bytes.com/topic/asp-net/answers/597465-simple-thread-issue
我不得不将它添加到线程代码块的顶部:
((WindowsIdentity)Thread.CurrentPrincipal.Identity).Impersonate();
本文共计295个文字,预计阅读时间需要2分钟。
我开发了一种方法来更新ASP.NET应用程序中的SQL Server数据库。如果更新失败,它会捕获异常,然后在MSMQ中对更新进行排队,随后启动一个新线程,该线程完成后再对挂起的更新进行排队,最后进行重试。
我有一个方法尝试更新ASP.NET应用程序中的SQL Server数据库.如果更新失败,它将捕获异常,然后在MSMQ中对更新进行排队,然后旋转一个新线程,该线程稍后将对挂起的更新进行排队,然后重试.线程启动时,无法打开数据库连接,因为它尝试使用网络服务作为登录进行连接. sql连接使用 Windows身份验证,并且将在该线程之外工作.如果我在新线程内执行的代码中放置一个断点并检查Thread.CurrentPrincipal,它会将Identity显示为正确的用户.为什么网络服务帐户尝试打开sql连接?我可以进一步详细说明是必要的.
谢谢.
我根据这个帖子想出来了:bytes.com/topic/asp-net/answers/597465-simple-thread-issue
我不得不将它添加到线程代码块的顶部:
((WindowsIdentity)Thread.CurrentPrincipal.Identity).Impersonate();

