Asp.net mvc 5 MVC 5引用非托管dll

Asp.net mvc 5 MVC 5引用非托管dll,asp.net-mvc-5,unmanagedresources,Asp.net Mvc 5,Unmanagedresources,我正在与一个问题作斗争,完全不知道如何正确处理这个问题 我有一个运行在WindowsServer2008R2上的MVC5应用程序,它通过一个非托管的COM dll与会计包(Exchequer)通信。据我所知(我不确定我是否知道),非托管dll在每个应用程序域中创建一次?这意味着应用程序的多个用户都将“使用”同一个非托管实例?理想情况下,我希望每个用户创建和销毁一个COM dll实例。有谁能告诉我这是否可行,如果可行,我将如何着手实施?谢谢否,非托管代码加载到appdomain之外的进程中。这意味

我正在与一个问题作斗争,完全不知道如何正确处理这个问题


我有一个运行在WindowsServer2008R2上的MVC5应用程序,它通过一个非托管的COM dll与会计包(Exchequer)通信。据我所知(我不确定我是否知道),非托管dll在每个应用程序域中创建一次?这意味着应用程序的多个用户都将“使用”同一个非托管实例?理想情况下,我希望每个用户创建和销毁一个COM dll实例。有谁能告诉我这是否可行,如果可行,我将如何着手实施?谢谢

否,非托管代码加载到appdomain之外的进程中。这意味着卸载appdomain不会自动释放加载的非托管代码的非托管内存<代码>理想情况下,我希望每个用户创建并销毁一个COM dll实例,谢谢Igor。我解释得不太清楚。很抱歉我真正想要的是在COM dll中为每个用户创建一个类的实例。它似乎是共享的。我之所以说“似乎是”,是因为我们在尝试实例化一个类(称为toolkit)的实例时,遇到了错误,指出该类的实例已经在使用中。恐怕我对COM知之甚少,所以我不知道这是特定于此特定dll的设计还是所有非托管dll的共同点?我不知道这是否有帮助,但我刚刚在文档中找到了:COM工具包(dll)是进程内COM对象,因此每个进程一次只能支持一个客户端应用程序(或DLL),这是因为同一进程中的所有应用程序和库都可以看到COM Toolkit DLL的同一实例,包括其所有全局变量