VB使用WCF:无法通过com包裹C#dll找到端点元素

时间:2016-12-20 08:49:14

标签: c# .net wcf dll vb6

当我尝试运行使用WCF服务引用的.Net dll的Vb6应用程序时,我一直收到此错误“找不到具有名称的端点...”。我确定这必须是需要处理配置文件的东西。由于dll中的配置文件看起来非常好并且端点配置正确,我怀疑我可能需要有一个用于VB6应用程序的app.config文件,因为这是调用者应用程序,理想情况下应该通过C#dll使用WCf服务。如果有人可以通过思考如何处理这个问题,那就太好了。

1 个答案:

答案 0 :(得分:1)

我找到了答案。基于遵循VB6-> C#DLL-> WCF服务的方法,WCF服务将搜索配置文件以寻找基本上是VB6 exe的执行组件。这将导致错误“无法找到端点元素...”。因此,为了解决这个问题,我手动尝试在com包装的C#dll中设置绑定属性,并将绑定对象和EndPointAddress一起传递给实例创建时的服务构造函数。下面是设置类似于配置文件的绑定属性的代码片段。

        Binding.SendTimeout = TimeSpan.FromMinutes(1);
        Binding.OpenTimeout = TimeSpan.FromMinutes(1);
        Binding.CloseTimeout = TimeSpan.FromMinutes(1);
        Binding.ReceiveTimeout = TimeSpan.FromMinutes(10);
        Binding.AllowCookies = false;
        Binding.BypassProxyOnLocal = false;
        Binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
        Binding.MessageEncoding = WSMessageEncoding.Text;
        Binding.TextEncoding = System.Text.Encoding.UTF8;
        Binding.TransferMode = TransferMode.Buffered;
        Binding.UseDefaultWebProxy = true;

如果某人遇到类似问题,这可能是解决此问题的可能方法之一。