Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET中的COM互操作_Asp.net_.net_Com - Fatal编程技术网

ASP.NET中的COM互操作

ASP.NET中的COM互操作,asp.net,.net,com,Asp.net,.net,Com,我正在尝试使用COM互操作从.NET库使用Internet Explorer 9的JavaScript引擎。虽然在测试代码中工作正常,但在ASP.NET(在IIS上)中运行时失败 我的库使用IE的JavaScript引擎加载CoffeeScript编译器。因此,理想情况下,我希望加载编译器一次,然后重用单个IE脚本引擎实例。我已经锁定了对脚本引擎的调用,但我认为我仍然遇到了与COM相关的线程问题 是否可以从不同的.NET线程调用COM对象?(即不同IIS web请求的线程) 我是一个完全的COM

我正在尝试使用COM互操作从.NET库使用Internet Explorer 9的JavaScript引擎。虽然在测试代码中工作正常,但在ASP.NET(在IIS上)中运行时失败

我的库使用IE的JavaScript引擎加载CoffeeScript编译器。因此,理想情况下,我希望加载编译器一次,然后重用单个IE脚本引擎实例。我已经锁定了对脚本引擎的调用,但我认为我仍然遇到了与COM相关的线程问题

是否可以从不同的.NET线程调用COM对象?(即不同IIS web请求的线程)


我是一个完全的COM新手,所以任何建议、链接等都很好。

因为我记得IIS不允许您操作线程,即创建或管理线程。在web应用程序中是不安全的。您可以做的是将编译器存储在服务器变量中:应用程序或会话

您可能希望从ASP.NET应用程序中使用的许多COM对象是为桌面环境而不是服务器环境设计的。例如,它们可能不希望从不同的线程调用,或者可能依赖UI消息泵进行同步。

我想知道,如果您只需要CoffeeScript编译器,是否可以将其托管在另一个进程中?