我想在我的代码中使用ThreadStatic atrribute。我想知道如果在我的应用程序中使用ThreadStatic属性,IIS中是否会出现一些性能问题,因为多个线程将访问这些字段。所以我想知道IIS的资源是否被过度使用或者在实现之前我应该记住的任何其他事情。
答案 0 :(得分:1)
通过IIS使用ThreadStatic没有直接的性能问题,但您必须考虑IIS使用线程池。
这意味着一次调用后你的线程静态不是免费的。
另一方面,Web请求可以由多个线程执行(例如页面而不是Web服务)组成,并且可能不会为同一个"客户端请求共享相同的线程"。
如果你没有释放自己的ThreadStatic东西,它可能会花费内存使用量。
如果在同步方法中评估ThreadStatic只调用同步进程并在同一方法结束时将其释放到finally块中,则可以使用它而没有任何副作用。