【发布时间】:2013-12-11 11:24:44
【问题描述】:
我们使用 WCF 服务(托管在 IIS 上,作为 C# Silverlight 项目的一部分,使用 Windows 身份验证登录)。
我想启动一个线程来做耗时的处理,它应该定期更新数据库。 “耗时”是指至少几分钟,但总是不到一个小时。我不想冒异步服务器调用超时的风险。
问题是我们使用 Windows 身份验证,一旦进程进入线程,它似乎会丢失上下文并失败并出现以下错误:
用户“IIS APPPOOL\DefaultAppPool”登录失败。
我尝试使用BackgroundWorker 将数据库代码移动到ProgressChanged() 和RunWorkerCompleted() 调用,希望它们可以加入原始上下文,但没有运气。
【问题讨论】:
标签: c# multithreading wcf iis windows-authentication