我正在开发一个项目,我们必须将包含大量C#静态变量的遗留代码包装到WCF服务中。可以想象,这对于WCF服务来说是一场噩梦,其中请求应该是无状态的。
如果没有重大改写,我可以提出的最佳解决方案是在单独的AppDomain中执行遗留代码,因此它是线程安全的,我使用CreateInstanceFromAndUnwrap()来实现这一点。
我得到了代码工作,但问题是它非常慢,因为现在每个WCF请求都必须在代码开始执行之前将所有20多个DLL重新加载到AppDomain中。
我只是想知道有没有人知道如何优化CreateInstanceFromAndUnwrap()?例如,无论如何我可以在不加载类的情况下预先加载所有程序集,这样每次请求进入时都会重置静态变量吗?
干杯, 奥斯卡
答案 0 :(得分:0)
如果不知道你怎么能完全按照自己的要求去做,至少我想分享一下我对此事的想法: