C# ThreadStatic的使用如何影响IIS的性能

C# ThreadStatic的使用如何影响IIS的性能,c#,multithreading,iis,C#,Multithreading,Iis,我想在代码中使用ThreadStatic属性。我想知道,如果我在应用程序中使用ThreadStatic属性,多个线程将访问这些字段,那么IIS中是否会出现性能问题。因此,我想知道IIS的资源是否被过度使用,或者在实现此功能之前,我应该记住的任何其他事情。通过IIS使用ThreadStatic没有直接的性能问题,但您必须考虑IIS使用线程池 这意味着您的线程静态在一次调用后不是空闲的 另一方面,web请求可以由多个线程组成,例如,但不能由web服务组成,并且不能为同一客户端请求共享同一线程 如果不

我想在代码中使用ThreadStatic属性。我想知道,如果我在应用程序中使用ThreadStatic属性,多个线程将访问这些字段,那么IIS中是否会出现性能问题。因此,我想知道IIS的资源是否被过度使用,或者在实现此功能之前,我应该记住的任何其他事情。

通过IIS使用ThreadStatic没有直接的性能问题,但您必须考虑IIS使用线程池

这意味着您的线程静态在一次调用后不是空闲的

另一方面,web请求可以由多个线程组成,例如,但不能由web服务组成,并且不能为同一客户端请求共享同一线程

如果不释放ThreadStatic,可能会占用内存

如果您在只调用同步进程的同步方法中计算ThreadStatic,并在同一方法末尾的finally块中释放它,则可以使用它,而不会产生任何副作用。

希望此方法有助于您可能不想使用ThreadStatic。最多,您可能希望使用与会话或请求链接的生命周期。这两者都不一定与一根线相连。