如何缓存COM对象,而不是为每个请求创建/处置它
本文关键字:请求 创建 缓存 何缓存 COM 对象 | 更新日期: 2023-09-27 18:08:46
我有一个使用COM object
与数据交互的asp.net web-api2
应用程序。我有一个Engine
对象和它一起工作。这样的:
public class PVXEngine : IDisposable
{
protected DispatchObject _pvxObject;
public PVXEngine()
{
_pvxObject = new DispatchObject("ProvideX.Script");
}
public void Dispose()
{
_pvxObject.Dispose();
}
}
我不想为每个请求重新创建这个对象。我怎么能存储我的PVXEngine
在我的应用程序上下文中不重新创建它。(我猜它会在应用程序池回收时被处理掉。)
如果可能的话,请参考我的文档,我可以在应用程序池中读取缓存对象。
感谢您的宝贵时间。
将PVXEngine
设置为类变量。假定对象是线程安全的。
public class PVXEngine : IDisposable
{
static protected DispatchObject _pvxObject = new DispatchObject("ProvideX.Script");
}
如果对象不是线程安全的,那么我建议使用c#对象池模式实现中指定的资源池