“找不到引用合同的默认端点元素”

Posted

技术标签:

【中文标题】“找不到引用合同的默认端点元素”【英文标题】:“Could not find default endpoint element that references contract” 【发布时间】:2011-10-20 19:14:25 【问题描述】:

在卸载 Windows 应用程序期间调用 web 服务时出现错误

找不到引用合约的端点元素 ServiceModel 客户端配置中的 ServiceReference2.IService1' 部分。这可能是因为找不到配置文件 您的应用程序,或者因为没有匹配此名称的端点元素 可以在客户端元素中找到。

我正在使用我正在调用 Web 服务客户端的 Installer 类。以下是installer.cs的代码

源代码:

namespace webMiner 

    [RunInstaller(true)]
    public partial class demoInstaller : Installer
    
    SqlConnection conn = new SqlConnection("Data Source=servername;Initial Catalog=comp;User Id=abc;Password=******;");

    public demoInstaller():base()
    

        InitializeComponent();

         AfterUninstall += new InstallEventHandler(AfterUninstallEventHandler);

    


    public override void Uninstall(System.Collections.IDictionary savedState)
    
        base.Uninstall(savedState);
        Int32 flag = -1;
        string keyName = "";

            RegistryKey regeditkey = Registry.CurrentUser.OpenSubKey("sevenuser", RegistryKeyPermissionCheck.ReadWriteSubTree);
        keyName = regeditkey.GetValue("currentuser").ToString();

            webMiner.ServiceReference2.Service1Client sc = new webMiner.ServiceReference2.Service1Client();

            flag = sc.unInstallOperation(keyName);


    


其中 unInstallOperation() 将调用包含更新帐户的 web 服务操作。

如何解决这个问题? 真的很讨厌这个问题

当我从另一个页面或另一个类文件调用 serviceclient 时,我没有问题,当我在卸载应用程序(即在安装程序类中)调用时,它会给我带来问题。这是我用过的app.config客户端配置代码

源代码:

  <client> 

  <endpoint address="http://companyfind.info/RegWcfService/Service1.svc" 
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService1"
      contract="IService1" name="BasicHttpBinding_IService1" />

   </client>

是否需要在web服务的web.config文件中添加这个??

【问题讨论】:

【参考方案1】:

您在创建 Service1Client 时可能需要使用端点的名称

var sc = new webMiner.ServiceReference2.Service1Client("BasicHttpBinding_IService1");

或者,就像我的情况一样,您在解决方案中的另一个项目中有另一个类和两个 app.config 类。因此,您需要在主 app.config 中复制/粘贴 enpoints 和 bindings 的描述。

【讨论】:

好的,这对我有用,但这不可能是正确的解决方案。必须有更好的做法。 >. 【参考方案2】:

尝试更新服务引用,并检查客户端配置是否在启动项目配置文件中。

【讨论】:

是否需要在web服务的web.config文件中添加上面给出的客户端代码?? 尝试更新服务引用,客户端配置仅在启动项目配置文件中,但没有用

以上是关于“找不到引用合同的默认端点元素”的主要内容,如果未能解决你的问题,请参考以下文章

找不到引用合同的默认端点元素:通过 Powershell cmdlet 连接到 WCF 端点

找不到localhostweb页面

java为啥每次都是找不到文件。找不到文件?

java 枚举 找不到符号

bat系统找不到指定文件怎么办?

java package找不到符号