我创建了一个库,它使用线程静态变量供同一库的各个类使用。一旦为线程初始化,所有这些类一起工作以使用这些变量完成任务。
现在我需要在 ASP.NET 应用程序中使用同一个库,并且我知道 threadstatic 不会使我的变量对单个线程全局,但这些将在线程之间共享。
我避免将变量传递给函数,因为这听起来不是很好的方法。所以我需要一个解决方案来使我的库可用于两种类型的应用程序(winforms + webforms),即线程静态和会话的替代方案。
使用图书馆中的字典实现我自己的管理怎么样?知道谁给我打电话(库),即桌面应用程序或 asp.net,然后分别使用线程 ID 或会话 ID 从字典中获取变量。现在,我不知道这是否可能。
如果为这个库创建一个 web 服务,它将由 exe 而不是 IIS 托管,以避免 ASP.NET 的线程共享导致 threadstatic 故障?
请提出解决方案。