问题标签 [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.
c++ - COM、COM+、DCOM,从哪里开始?
我对COM+、DCOM很好奇。我知道 MSFT 不鼓励你在本地使用这个工具(意思是 C/C++,实际上没有很多可用的文档),但我想学习使用这些技术,比如将 Internet Explorer 嵌入到 C 程序中。
我想也许我可以找到使用这个或知道这项技术的人。
从哪儿开始?有任何想法吗?任何例子(如Hello World DCOM)?
.net - EnterpriseServicesInteropOption 用于 .NET 到 COM+ 调用
我需要执行一些数据库更新,其中一部分将通过 COM+ 组件(将为事务启用),而其他通过标准 LINQ to SQL,我希望对一个事务的一部分进行更新。
我打算使用 TransactionScope 来允许 .NET 和 COM+ 事务同步。但是,在阅读了有关 EnterpriseServicesInteropOption 的文档后,我仍然不确定 Automatic 和 Full 之间的区别。
我可以在我的情况下使用自动吗?
我可以感觉到我可能会收到 RTFM 响应,但我发现这篇文章不清楚:http: //msdn.microsoft.com/en-us/library/ms229974 (VS.80).aspx
人们拥有的任何更清晰的资源也将不胜感激
vb.net - How to call a com+ component?
I'm making some archeology, dealing with COM+
I managed to enlist a simple COM dll as a COM+ component, so far so good.
So I've got this 'foobar' com+ component, with it's interface, and the method I'd like to call.
My question is then rally simple: how am I supposed to make a call to this component?
Any .NET or VB6 answer is accepted (I have to check the component is OK, don't care about the client)
Thanks
Edit (06/03/09): Well, I'm confused. so as to work properly, my COM+ component needs it's dll to be registered. Why not? But then, how to be sure I'm making a COM+ call, and not a COM one?
c# - 使用 c# 和 .NET 的 COM+ 事件
我试图通过 COM 访问我的应用程序的某些部分,主要是因为我需要一个 Delphi 应用程序才能调用 .NET 应用程序上的某些服务。
我已经设法通过从 ServicedComponent 类继承的 COM 公开了一些方法,并且工作正常。
现在我需要能够向客户提出事件,以便在发生某些事情时提醒他。我目前有这样的事情:
但是当我从 Delphi 导入 TypeLibrary 时,我得到了这个:
我真的不知道如何使用。我期待一个 IUnknown 接口,我可以通过 MyService.Register(IEvents events) 实现并提供给服务......
我想我在这里完全迷失了......关于如何使用 .NET 正确实现 COM+ 事件的任何建议或参考?
wcf - Windows 上用于无 UI 进程的最佳主机
我们正在计划一个在 Windows/.Net 3.5 上运行的系统,该系统具有许多需要在后台运行的“服务”。有些会一直处于活动状态,但有些只会偶尔被调用并且可以按需站立。
据我所知,我的选择是:
- Windows 服务 - 始终运行(?)
- IIS 托管了一些东西 - 按需调用
- COM+/ .Net 企业服务 - 最复杂的选项,但最强大?
分布式事务不是必需的,这些主要是计算引擎,而不是事务处理器。
有没有人有使用所有这些技术的经验,以及每种技术的进一步利弊?
编辑
假设在 IIS、Web 服务、WCF(如下所述)中有多种托管代码的方式,还有其他方式吗?相对的优点/缺点?
oracle - 来自 COM+ 应用程序的 Oracle 连接
我们正在运行一个 Oracle 10.2.0 服务器。服务器上有一个名为 FOO 的模式。我使用 10.2.0 客户端创建了与架构的 ODBC 连接。
我们有一个桌面应用程序,它具有我们自己编写的核心数据库访问库,这些库使用 SQLDriverConnect 等。
我们还有一个使用相同核心库的 COM+ 应用程序。
当我使用 ODBC 连接与桌面应用程序连接时,没有问题。
连接 COM+ 应用程序后,我无法执行任何查询。SQLDriverConnect 返回 SUCCESS,但随后任何尝试执行查询都会导致 Oracle 错误“未连接”。COM+ 应用程序设置为以“登录用户”身份运行。
我确定这可能是一个安全问题,但我不知道从哪里开始。
有任何想法吗?
谢谢。
asp.net - 无法在我的 PC 上启动 IIS:COM+ 系统应用程序:访问被拒绝
我正在尝试做一些网络开发。我无法启动 IIS(我需要运行一些 Web 服务)。
大约一个月前,“COM+ 系统应用程序”服务已经开始失败并出现以下错误:
由于以下错误,COM+ 系统应用程序服务无法启动:访问被拒绝。
DCOM 还会在事件日志中记录错误:
DCOM 出现错误“访问被拒绝。”尝试使用参数“”启动服务 COMSysApp 以运行服务器:{ECABAFBC-7F19-11D2-978E-0000F8757E2A}
当我启动 IIS 和 WWW 服务时,一切似乎都正常工作,直到我在我的机器上点击端口 80,此时 IIS/WWW 服务都意外崩溃:
World Wide Web Publishing 服务意外终止。它已经这样做了 1 次。
以下事件也放置在应用程序日志中:
运行时环境检测到其内部状态不一致。这表明过程中存在潜在的不稳定性,这可能是由 COM+ 应用程序中运行的自定义组件、它们使用的组件或其他因素引起的。f:\xpsp3\com\com1x\src\comsvcs\package\cpackage.cpp(1184) 中的错误,hr = 80070005:InitEventCollector 失败
我已经搜索了谷歌,直到我的手指麻木了。我也搜索过这个网站也无济于事。
我试过了:
- 以管理员身份运行 COM+ 系统应用程序服务。
- 为 XP 重新安装 SP3
- 将“SERVICE”帐户完全控制权交给 %SYSTEMROOT%\Registration
- 删除大约在停止工作时安装的 XP 安全修补程序
- 我已经删除并重新安装了 COM+(有可能,检查谷歌)
任何有关 COM+ 子系统、它的文件和设置或它的操作方式的见解将不胜感激。
我需要解决这个问题,这样我才能重新开始工作。
asp.net - 在 x64 Windows Server 2008 和 IIS7 上使用 COM+ 的经典 ASP
(注意:我考虑过将其发布到 serverfault,但我发现更多的开发人员比管理员更容易解决这些问题)
我正在尝试在上述环境中设置一个同时使用 ASP Classic 和 ASP.NET 2.0 的网页。在网络上应用了许多常见的修复程序和一些幸运的猜测之后,ASP.NET 2.0 页面终于可以正常运行(减去 COM+)。ASP Classic 页面根本没有运行。
所以我认为 x64 环境是我大部分问题的原因。这里有没有人在 x64 和 IIS7 中使用带有 ASP Classic 和 ASP.NET 的旧 COM+ 东西以及一些智慧之言?
iis - Windows Server 2003 - 空闲时保持运行
我目前正在将网站移动到新服务器,同时我注意到设置 com+ 应用程序组件在空闲时运行的选项。
此选项当前在所有组件上都设置为 true,但在我看来,这似乎需要某种权衡(页面加载时间与服务器压力)。
有谁知道这些选项的现实利弊是什么?
wcf - 单元测试程序集耗尽进程
那里有人有测试“流程外组件”的经验吗?我正在测试一些配置为在进程外激活的 Com+(服务组件)和 WCF 服务,但我不确定在这些情况下测试的最佳实践是什么。
我所做的是给公共类他们自己的 IOC 容器,他们可以在激活时建立。这很好用,但我一尝试单元测试就会遇到问题,原因有两个......
我想注入的任何依赖对象都需要可序列化,因为单元测试在不同的进程中运行。如果我想将一个附加模块(ninject)加载到 com+ 内核/ioc 容器中,我需要编写自己的模块以使其可序列化。我不喜欢为了做测试而让事情可序列化。
进程外程序集需要安装到 GAC 中,并且在 Com+ 的情况下需要注册。这使得测试很痛苦,因为它们需要在测试之前安装。
目前我只能想到两种方法来解决这个问题。
有一个单独的工作副本用于运行测试,其中我修改了配置以运行进程中的程序集。显然这并不理想,因为现在我正在修改代码只是为了使其可测试。尽管我可以忍受这一点,因为它不涉及任何功能更改。
让单元测试从 Com+ 或 WCF 组件继承,以便测试可以在相同的进程边界中运行。(这需要将单元测试安装到 GAC 中)