从Classic ASP访问COM组件,消耗WCF抛出错误

时间:2009-07-28 11:38:05

标签: asp.net wcf asp-classic

我使用ClassLibrary创建了一个使用WCF的COM互操作组件。现在当我从我的经典ASP页面调用COM组件的方法(使用WCF)时,我收到以下错误。

  

错误类型:System.ServiceModel(0x80131509)找不到默认值   引用合同'DLSWS.IDLSWS'的端点元素   ServiceModel客户端配置部分。这可能是因为没有   找到了您的应用程序的配置文件,或者因为没有   匹配此合同的端点元素可以在客户端中找到   元件。

我从上面的错误中理解的是:asp页面无法从COM组件中的app.config文件中读取WCF配置。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您可以在COM对象中创建客户端通道时以编程方式设置端点,也可以使用app.config。

为COM +应用程序设置app.config:

如果您使用的是Windows 2000,而您的COM +应用程序是服务器,那么您的 app.config应该被称为dllhost.exe.config并且必须是相同的 目录为dllhost.exe(%SystemRoot%\ System32)。

如果您使用的是Windows 2003,则可以转到的“激活”选项卡 COM + app属性并将Application Root Directory属性设置为point 到您偏好的位置,并且在该目录中,您必须放置一个 文件名为application.config(带有您的配置设置)和另一个文件 调用者应用程序。显示下面显示的内容:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
</assembly>

答案 1 :(得分:0)

COM组件是否有App.config文件?如果没有,则可能是COM无法访问web.config中的配置。

为组件创建App.config文件或从Web应用程序传入Endpoint实例。