繁体   English   中英

使用WCF的VB:无法通过com包装的C#dll查找终结点元素

[英]VB using WCF: Cannot find endpoint element via com wrapped C# dll

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

我找到了答案。 基于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;

如果有人面临类似问题,这可能是解决此问题的一种可能方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM