如何在COM+服务器中读取配置文件

3
我有一个COM+服务器(项目输出dll),由代理使用(我猜这被称为客户端应用程序,并在dllhost.exe下运行)。COM+服务器通过服务器控制台应用程序(项目输出exe)运行,该应用程序本身作为服务运行。
我需要在COM+服务器(dll)中读取配置文件。我不知道:
1. 配置文件应放在哪里,以及用什么名称?一个配置文件已存在于名为dllhost.exe.config的代理中。 2. 如何在COM+服务器中读取此配置文件? 3. 如何在文件中拥有自定义配置?
我在这里找到了link,但我无法弄清楚该怎么做。谢谢
1个回答

5
1)在COM+应用程序根目录中,您必须放置两个文件:
  • application.manifest
  • application.config
2)您的application.manifest文件可以只有这个内容:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
</assembly>

您的application.config文件必须类似于这个:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="myPropertyName" value="myPropertyValue"></add>
  </appSettings>
</configuration>

在COM+源代码中,您可以使用。
System.Configuration.ConfigurationSettings.AppSettings["myPropertyName"]

为了读取配置属性(如果您正在使用C#),请注意:“应用程序根目录”可以通过使用COM+管理控制台(dcomcnfg.exe)的“激活”选项卡来确定。

正是我一直在寻找的东西。我已经在开发机上测试过了,现在想在服务器上测试一下。在服务器的“激活”选项卡下,“应用程序根目录”是空白的。这是什么意思,该怎么办?无论如何,你得到了我的支持。 - peacefulmember
当您通过执行regsvcs.exe注册COM+组件时,可以使用选项/appdir:<path>来指定应用程序的具体目录。在这种情况下,您将在管理控制台的激活选项卡中看到该路径。如果对于您而言该路径为空,则可能是因为您没有使用该选项,Windows正在将应用程序安装在默认位置(我现在不记得它在哪里了)。 - Manuel Quijada

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接