问题标签 [com+]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1268 浏览

vb6 - 调用 Com+ 应用程序时出现一个或多个参数无效错误

我有 vb6 / com+ 应用程序,它在今天早些时候工作了几周。据有权访问的每个人都没有对服务器进行任何操作。当我尝试调用服务器上的 com+ 组件时,出现以下错误:

错误代码 -2147024809 一个或多个参数无效。

如果我切换到不同的 com+ 服务器,一切正常。

我已经尝试重新启动 com+ 包、重新启动 IIS 并重新创建包,但这些都没有奏效。

有没有人遇到过这个?

0 投票
1 回答
92 浏览

.net - 将 .NET 中的企业服务用于不写入数据库的事务对象

我正在考虑使用企业服务中的 DTC 来管理我需要运行的事务。该交易的不同寻常之处在于,该交易将影响我们通过本机接口访问的数据库和许多硬件设备。我很想知道这是否真的可能。即我可以编写一个类来访问硬件组件执行更新并支持通过企业服务回滚吗?到目前为止,我看到的所有示例都演示了一个数据库示例。

亲切的问候

0 投票
2 回答
241 浏览

windows - 是否有任何理由不在 COM+ 应用程序中托管 COM 服务器?

将进程内 COM 服务器转换为进程外 COM 服务器的最简单方法是创建 COM+ 应用程序。这样做有什么可能的缺点?

0 投票
4 回答
324 浏览

c# - 为 Windows 上的其他应用程序创建长寿命服务器

我研究了 COM 服务器和 Windows 服务,但我不确定什么最适合我的目的或如何去做。我想要的是可以启动并运行无限时间的东西,它持有一个对象,以便其他进程或应用程序获取对该对象的引用(或向服务器发出请求)以修改或查询其状态。

服务器本质上是一个应用程序,它通过串行端口处理对设备的命令并维护设备的内部状态。

我现在有用 C# 编写的设备通信和持久性功能,它可以在每个进程的基础上创建和运行,但显然我希望它实例化一次并独立于其他进程运行。

我读过的 COM 教程只是让我感到困惑,因为我不完全确定这是否是我想要的,我希望有更多的 .Net 方式来做到这一点。

任何帮助将不胜感激!

0 投票
3 回答
1842 浏览

.net-2.0 - 如何用 .NET 替换 VB6 Com+ DLL

我们的 asp 经典应用程序中使用了 Com+ VB6 DLL。升级到 IIS 6.0 和 Windows Server 2003 后,它似乎给我们带来了问题。我们应该如何将其替换为 .NET (2.0) 功能?

  • 网络服务?
  • .NET 中的 Com DLL?
  • 其他选择?

假设重写 asp 经典页面是不可能的。

编辑:如果将其重写为 com 可访问的程序集,这不会留下与 Com+ 相同的问题吗?

0 投票
1 回答
653 浏览

.net - COM 对象池和 .NET Web 服务

我有一个需要从 .NET Web 服务访问的 COM 对象。

我知道整个 STA/MTA 的事情——所以我的 COM 对象将被转换为 MTA 并且没有全局状态(虽然本身不​​是多线程的)。

如果我将它设置为 COM+ 服务器,并指定一个对象池,这是否意味着对于每个 Web 服务线程,它将使用不同的 COM 对象实例?而且不排队?

谢谢

0 投票
1 回答
1405 浏览

c# - ASP、Server.CreateObject、MTS 和 C# 对象池——重用问题?

我正在尝试调试“偶尔”问题。我们有一个需要发送电子邮件的经典 ASP 应用程序。无论出于何种原因,它都使用通过 COM 公开的 C# 对象来执行此发送;c# 对象是 MailMessage 和 SMTPClient 的简单包装器,使用 SendAsync 进行发送。在 ASP 方面,在发送每封邮件之前,该对象是 Server.CreateObject(),但邮件消息是在一个紧密的循环中发送的。这应该会为每条消息生成一个新的 COM 对象(因此也是一个新的 c# 对象)。但是,我们看到消息被丢弃并且消息被发送到多个收件人,就好像该对象正在被重用一样。

在对 MTS 进行了一些研究(从没想过我会再去那里!)我记得/发现 Server.CreateObject 通过 MTS 并且 MTS 将汇集 COM 对象以“帮助”我。我们更改了 ASP 代码,改为创建一个新的 ActiveXObject,我认为它没有通过 MTS,但我们遇到了同样的问题。

假设 .net 中的 ServicedComponent 接口是 ObjectControl 接口的 .net/com+ 版本,我是否正确?如果我从 ServicedComponent 继承,那么该对象是否会被设置为允许 pooling = false?我宁愿在 ASP 中进行更改,但如果这不可能,那么我也可以进行 c# 更改。

想法?

编辑:页面语言也是 JScript,而不是“普通”的 VBScript。

0 投票
4 回答
1159 浏览

windows - 为什么 COM+ 会忽略单元线程模型?

我有一个放入 COM+ 应用程序的 STA COM 组件。客户端在该组件中创建该类的多个实例并并行调用它们的方法。该类已正确注册 - 对应类 id 的“ThreadingModel”是“Apartment”。

我看到在组件内部并行执行同一类的同一方法的多个调用 - 在实际组件代码中。它们在同一个进程中执行,但在不同的线程中执行。

发生了什么?COM+ 是否忽略了线程模型?STA模型不应该一次只允许执行一个调用吗?

0 投票
1 回答
386 浏览

multithreading - DCOM/ COM+ 激活的对象会死锁 CPU 吗?

如何计算 COM+ 应用程序的 CPU 级死锁?这是一个在 Win2K 上运行的应用程序。无论负载如何,所有其他对象都使用的 1 个对象开始突然增加调用时间,然后系统崩溃。将系统恢复到正常工作状态的唯一方法是重新启动 COM+ 应用程序。

有趣的是,这种情况无法在 QA 或 DEV 中重现。唯一的区别是 CPU 头数和内存。

COM+ 应用程序是 n 层模型中的应用程序组件,它使用 MSDAORA 连接到使用 v9.2 客户端的 Oracle v9.2 DB。

任何想法/想法都非常受欢迎。

0 投票
1 回答
725 浏览

com - 使用 Windbg 查找传递给 COM+ 方法的参数

为 COM+ 应用程序生成了一个调试诊断转储文件。经分析,看起来像是线程处的死锁OLE32!SwitchSTA。我的符号路径指向 msdl.microsoft.com/download/symbols。有没有办法知道传递给这个方法的参数是什么?

一般来说,如何使用 Windbg 找到方法调用的输入参数值?