从 .NET Windows 服务调用 COM 组件

2023-12-07

我有一个用 .NET C# 编写的 Windows 服务,它调用 COM 组件。我还有一个 .NET Windows 窗体测试应用程序,用于测试 COM 组件。从测试应用程序来看它运行良好。但是,当我在 Windows 服务中使用相同的代码时,什么也没有发生。 COM 组件将所有内容记录到文件中,并且未生成日志文件这一事实暗示 COM 组件甚至没有被调用。

为什么这在我的测试应用程序中有效,但在 Windows 服务中无效?


服务通常与桌面隔离运行,因此当从服务调用时,对 COM 组件的调用与 UI 隔离。您可以允许服务“与桌面交互”“请参阅有关使用交互式服务.

微软(<sarcasm>in their infinite wisdom</sarcasm>) 决定从 Window vista 中删除此功能并建议将您的应用程序分成多个部分并使用其他机制完成 UI 和服务之间的通信。显然,有些人(包括我自己)不同意,但是,事实就是如此......

http://msdn.microsoft.com/en-us/library/ms683502.aspx

http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/e50d8819-d628-48e2-aa2c-6ac6de8380d9/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 .NET Windows 服务调用 COM 组件 的相关文章

  • 添加到 .NET 任务栏中的右键单击应用程序菜单

    大多数应用程序只有 恢复 移动 调整大小 最小化 最大化和关闭 但是MS SQL提供了额外的选项 帮助 自定义视图 按照这些思路 是否可以添加到任务栏中应用程序的右键单击菜单 注 我是not指通知区域中时钟旁边的图标 这是一个更简单的ans
  • UI 线程正在阻塞调用 COM 对象的后台线程

    我正在开发一个通过第三方 COM 库与外部设备通信的应用程序 我试图让与设备的所有通信都通过后台线程 以防止通信问题搞砸我的应用程序 并消除在 UI 线程中进行通信所引入的一些其他复杂性 问题是 每当发生导致主 UI 线程阻塞的情况 即调用
  • 为什么 %processor_architecture% 总是返回 x86 而不是 AMD64

    我正在尝试检索环境变量来检测系统是32位还是64位 但在64位服务器上环境变量 processor architecture 正在返回x86代替AMD64 有人对此有任何线索吗 您可能获得了错误的环境变量 如果您的应用程序是在 64 位操作
  • 如何使用 .NET 捕获我的桌面视频?

    我想知道是否有任何方法可以使用 NET 捕获我的桌面的视频 截屏视频 我并不是在寻找截屏软件 而只是在寻找一种可以让我自己生成桌面视频的技术 我想过拍摄多个屏幕截图 但我不确定如何以编程方式生成带有图像序列的视频 有人有主意吗 Thanks
  • 标准 .NET 库是否依赖于任何非托管 DLL?

    只是出于好奇 NET 框架本身在访问标准库时是否依赖于任何非托管 DLL 例如 我调用方法 A 并且 在幕后 方法 A 或该方法 A 内的任何其他方法对非托管 DLL 执行 PInvoke 是的 Net 库大量使用非托管函数 库可以调用两种
  • 如何使用实体框架设置连接字符串

    我将 EF6 与 MySQL 结合使用 并有一个用于多个数据库的模型 我希望能够在我的表单中设置连接设置 如何以编程方式设置模型的连接字符串 你应该使用EntityConnectionFactory这就是您所需要的 public strin
  • 推断“x => { throw .. }”的 Lambda 与重载方法中的 Func 匹配吗?

    我不明白为什么 C 最终在以下 LINQPad 代码中执行不正确的扩展方法 void Main Actual Sync Action Expected Sync Action Run x gt x Dump Actual Async Tas
  • 如何在 Visual Studio 中调试时强制异常?

    我正在调试模式下运行我的应用程序 并且我想手动抛出异常 即不是从代码内部抛出异常 有什么办法可以做到这一点吗 当然 跑步throw new Exception My forced exception 在命令或立即窗口中不起作用 编辑 我希望
  • 在 python 2 或 python 3 中编写 csv 文件的便携式方法

    在我的 Windows 机器上 我通常在 python 2 中这样做来编写 csv 文件 import csv f open out csv wb cr csv writer f delimiter cr writerow a b c f
  • 如何将dll作为服务运行?

    我知道如何编写 dll 如何编写服务以及如何运行 dllrundll32 但现在我想编写一个在Windows中作为服务安装的dll 我不知道这是否可能或应该导出 dll 中的哪个函数 如何将 dll 作为服务安装并运行 有几种不同的方法可以
  • 将参数传递给模板类型的 C# 泛型 new()

    添加到列表时 我试图通过其构造函数创建一个 T 类型的新对象 我收到编译错误 错误消息是 T 创建变量实例时无法提供参数 但我的类确实有一个构造函数参数 我怎样才能做到这一点 public static string GetAllItems
  • 更改 NHibernate Session.Save 命令超时

    我们有几个长时间运行的后端进程 其运行时间超过默认的 30 秒 我们的NHibernate版本是2 0 1 4000 Spring NET是1 2 0 20313 NHibernate 通过 Spring NET 进行配置
  • PE 文件中的跳转存根

    最近我反汇编了一个DLL 用c c 编写 发现代码段内有很多 跳转存根 这些存根除了跳转到 DLL 内的函数之外什么也不做 eg jmp foo jmp foo2 为什么编译器 Visual studio 2012 在二进制文件中包含这些函
  • .NET PInvoke 可以从用户指定的目录动态加载本机 dll 吗?

    我有一个 NET 应用程序 需要加载一个本机库 其位置由用户指定 PInvoke 看起来只会从全局搜索路径 或编译时指定的路径 加载 最好的方法是创建一个在运行时调用 LoadLibrary 的 C CLI 程序集吗 C CLI 会比 C
  • Activator.CreateInstance 缺少方法异常

    我在 C dll 中有一个类 其中包含以下类 public class RequiredTask Base BaseObject public string Name get set public string Description ge
  • Android 在启动时启动服务,如何在设备重启后重新启动服务类?

    我需要在启动时启动一项服务 我搜索了很多 他们正在谈论广播接收器 由于我是 Android 开发新手 所以我对 Android 上的服务并没有清楚的了解 请提供一些源代码 您的接收者 public class MyReceiver exte
  • 无法打开 Python。错误 0xc000007b

    我最近一直在学习 Python 3 我在我的上网本 32 位 Windows 7 上创建简单的小程序没有任何问题 当我将它安装在我的上网本上时 我没有遇到任何问题 但现在我已经开始使用它了 我想将它安装在我的台式机上 并且我有一个 我的桌面
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • *.tlb 文件在运行时使用过吗?

    我正在开发一个通过 COM 互操作公开一些 NET API 的产品 作为构建的一部分 我们为所有此类程序集生成 tlb 文件 并将它们作为单独 SDK 包的一部分提供 我们的客户可以在我们的产品之上安装 SDK 并创建使用我们的 COM A
  • 在 ASP.NET 中将事件冒泡为父级

    我已经说过 ASP NET 中的层次结构 page user control 1 user control 2 control 3 我想要做的是 当控件 3 它可以是任何类型的控件 我一般都想这样做 让用户用它做一些触发回发的事情时 它会向

随机推荐

  • Firebase 登录:GoogleSignIn onActivityResult() 返回 RESULT_CANCELED,结果错误 12500

    好的 我知道这个问题已被问过多次 但由于某种原因此错误不断发生 情况如下 创建了 PROD firebase 项目 将 google services json 插入到 Android 项目中 Android 项目路径 app google
  • :link 伪类确实匹配访问过的链接

    我正在阅读有关 CSS 伪类的内容 并且遇到了 link伪类 大家都说 link伪类匹配具有 href 属性的链接元素and还没有被访问过 当我检查时 第一个条件是正确的 但显然第二个条件 仅匹配未访问的链接 不是这种情况 至少对于 Goo
  • 使用 Java 从 HTML 中提取微数据

    我真的需要帮助来提取嵌入在 HTML5 中的 Mircodata 我的目的是从网页中获取结构化数据 就像谷歌的这个工具一样 http www google com webmasters tools richsnippets 我进行了很多搜索
  • 在 cakephp 2.x 中从视图到控制器进行 jquery ajax 调用

    我试图从视图向控制器发出 ajax 请求 ajax 请求工作正常 但从控制器没有返回任何内容到视图 我不知道问题出在哪里 我正在尝试的是在我的视图一侧显示来自控制器的一些数据 并且有一个选择框 当我从选择框中选择一个城市时 它会调用 aja
  • Angular + ng-bootstrap - 模态:窗口未打开

    我是 Angular 新手 在尝试使用 ng bootstrap 模式的简单示例时遇到问题 我只是尝试打开一个窗口 但它出现在我的应用程序中 我想打开一个新窗口 如 ng bootstrap 示例中所述 我在用 角度 4 0 0 Boots
  • Interop COM(-isch) 接口封送处理会导致简单调用时出现 AccessViotlationException

    我正在尝试为本机 C 插件标准编写托管互操作库 这个本机 C 库使用 COM 兼容的接口设计 然而 它不做任何类注册的事情 与 COM 一样 所有接口都派生自 IUnknown 称为 FUnknown 但无论如何都是相同的 3 个方法 我编
  • 如何从根域访问子域的html5 localStorage?

    当我有 www mydomain com 和 mydomain com 时 它们每个都有一个单独的 localStorage 我读过这里http msdn microsoft com en us library cc197062 VS 85
  • 尝试创建链表但指针分配错误

    我正在尝试制作一个链接列表并创建一些方法 但是 我收到错误 赋值使指针来自整数 无需强制转换 这是我的代码 include
  • 环境检测:node.js或浏览器

    我正在开发一个 JS 应用程序 需要在客户端和服务器端 在浏览器上的 Javascript 和 Node js 中 工作 并且我希望能够重用以下代码部分 用于两侧 我发现window是一个只能在浏览器上访问的变量 并且global在节点中
  • 创建具有多列的数据框,这些列都是不同窗口的滚​​动平均值

    我有一个 mydata 数据框 有 2 列 日期列和值列 我想将列附加到数据框中 这些列是各个窗口中 值 列的移动平均值 目前 mydata 有 2 列 Column 1 date Column 2 value 我希望第 3 列是值列的 2
  • 抑制 libsvm 中的输出 (python)

    我正在使用 python 中的 libsvm svmutils 来执行分类任务 分类器是准确的 但是 我得到这样的输出 optimization finished iter 75 nu 0 000021 obj 0 024330 rho 0
  • Sqlalchemy 将 WHERE 子句复制到 FROM

    我向 psql 编写了原始查询 它工作正常 但是当我在 sqlalchemy 中编写此查询时 我的 WHERE 子句复制到 FROM 子句 select id from T1 where arr array select l id from
  • 条件c++中对象的实例化

    假设我想根据某些情况实例化不同类型的对象 因此我会在 if 语句体内实例化它们 问题是如果您想稍后使用该对象 则需要在实例化之前声明它 如何声明一个通用对象 Java中有类似对象类的东西吗 我已经进行了一些谷歌搜索 例如 通用对象c 和 对
  • 从 Android HTML 资源创建 SQLite 表

    我尝试在 android 中使用 HTML 在 sqlite 中创建一个表 但它不起作用 示例 HTML 在这里
  • C# 函数和可选参数

    我知道在 C 中可以定义可选参数 我的问题是这有多灵活 令 f 为如下函数 其中a强制性和b c选修的 class Test public void f int a int b 2 int c 3 现在 我知道我可以通过以下方式调用该函数
  • 如何使用 Swift 3 为按钮制作摇动动画 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我有一个每 3 秒调用一次的函数 我怎样才能制作一个晃动的动画button左右摇晃 func shakeButton if opened false Shake Animatio
  • VSCode 在片段中链接正则表达式转换

    我正在尝试通过两种方式在 VSCode 中自动转换文件名 假设我有test file name md 我想结束Test File Name在我的文档中 现在我可以分别完成转换的两个部分 但我正在努力寻找如何将它们组合起来 要删除所有 并将它
  • 当类型是映射的任何成员时提高 Typescript 速度?

    例如 我有这些类型 class User extends Entity class Post extends Entity type Entities user User post Post potentially hundreds mor
  • 如何将数据文件作为矩阵导入并从 python 脚本运行 .m 文件?

    我有一个 m 文件 用于在 matlab 中运行神经网络 该文件已本地安装在我的计算机上 我正在尝试编写一个 python 脚本 它将多次循环遍历神经网络可能的传输和训练 函数列表 我编写了一个函数来打开和编辑 m 文件 但我不知道如何操作
  • 从 .NET Windows 服务调用 COM 组件

    我有一个用 NET C 编写的 Windows 服务 它调用 COM 组件 我还有一个 NET Windows 窗体测试应用程序 用于测试 COM 组件 从测试应用程序来看它运行良好 但是 当我在 Windows 服务中使用相同的代码时 什