我想在c#线程上下文或类似内容中存储一些信息(键值对)(就像http请求的httpcontext一样)。
我希望能够在线程上下文(或类似的东西)中的某处存储此信息(键值对),以便我的代码始终可以从当前运行的线程中读取这些值。
在我的appliation中,我有一系列API调用,并且无法将此信息从一个方法传递给其他方法(已经使用此选项!)
note - 此线程在Asp.Net应用程序中作为异步操作运行。
答案 0 :(得分:4)
您是否正在使用Thread Local storage寻找ThreadStatic attribute?
public static class ThreadLocalExample
{
// There will be one Foo instance per thread.
// Each thread will have to initialize it's own instance.
[ThreadStatic]
private static Foo bar;
}
当然,你可以在上面添加一些辅助方法或属性来帮助你管理实例,包括确保每个线程的初始化。