有没有办法做到这一点(psedo代码):.NET中是否有构建线程绑定变量的功能?
GetCurrentThread().Items.Add(new RefObject);
再后来就retrive它
RefObject[] refObjs = GetCurrentThread().Items;
,并列举的对象。很明显,这两个调用将在它的生命周期内发生在同一个线程上。
基本的想法是,我可以很容易地识别当前线程的项目,并且他们实际上是在此线程中创建的。这与为ASP.NET请求使用Page.Request
对象相同 - 您知道它在工作进程中是非常独特的,因此它不会与其他请求同时处于混合状态。我想处理一个像Page.Request
这样的线程 - 它会来,然后去,但当它活着时,我可以随意查询它,而不必关心进程中存在的其他威胁。
一旦我做了类似的事情,但它更多的是通过引用编组对象的模拟。我可以考虑多种方法来完成它,但我真的不想手动存储线程和对象之间的映射。对于.NET中的线程,是否有与TransactionScope类似的东西?我在处理同步化的困难和避免竞争条件方面并没有太多的麻烦。 PS:如果没有这个功能,我可以在没有静态变量的情况下至少使用application domain吗?