从Excel中调用包含WCF web服务的c# DLL

本文关键字:服务 DLL web WCF Excel 调用 包含 | 更新日期: 2023-09-27 18:14:53

这个问题以前也有人问过,但我的情况略有不同。

我有一个Excel插件,我们分发给用户,现在需要连接到下游系统。下游系统已经为我提供了一个WCF web服务来做这件事,所以我设计了一个c# DLL包装器,我可以通过COM暴露它,它可以与WCF web服务通信,并通过COM接口将结果返回给Excel。

我有Excel说话的COM包装器现在很好,虽然我不得不恢复到框架3.5的DLL的原因,我还没有弄清与Excel和。net运行时版本。问题是,当我在c# DLL中调用COM暴露方法时,我得到一个错误返回说"找不到默认端点……"

这个错误似乎是因为服务配置没有被拾取,显然是因为我没有app.config,因为这纯粹是一个独立的DLL。我可以把配置放在Excel.exe.config中,我敢肯定,但这不是一个选项,因为不允许更改用户的Excel配置。我不能硬编码值到c#代码,因为我们将需要不同的环境配置与外部配置文件。

基本上我需要有一个配置文件,我可以与我的DLL和excel添加分发,以便当excel调用我的COM暴露c# DLL时,它也会拾取配置文件并从那里加载WCF端点配置。我知道如何使用ConfigurationManager读取配置文件,但我不知道如何让。net知道这个配置文件包含WCF服务的端点信息。到目前为止,我发现的唯一解决方案是重写默认的应用程序域配置加载,以便。net为app.config默认设置加载您手动指定的文件,但我在网上找到的所有解决方案都使用。net 4.5对象和代码,当我限于。net 3.5时。

有谁能帮我一下吗?

从Excel中调用包含WCF web服务的c# DLL

您应该考虑在代码中而不是在配置文件中配置您的WCF客户机端点。详情请参阅:

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