3 Stimmen

"Konnte kein Standard-Endpunktelement finden, das auf einen Vertrag verweist"

Beim Aufruf des Webservice während der Deinstallation der Windows-Anwendung erhalte ich folgende Fehlermeldung

Es konnte kein Endpunktelement gefunden werden, das auf einen Vertrag verweist ServiceReference2.IService1' in der ServiceModel-Client-Konfiguration Abschnitt. Dies kann daran liegen, dass keine Konfigurationsdatei für Ihre Anwendung gefunden wurde für Ihre Anwendung gefunden wurde, oder weil kein Endpunktelement mit diesem Namen in dem Client-Element gefunden werden konnte.

Ich verwende die Klasse Installer, in der ich den Webservice-Client aufrufe. Nachfolgend der Code von installer.cs

Quellcode:

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);

    }

}

}

Wobei unInstallOperation() die Webservice-Operation aufruft, die die Aktualisierung des Kontos beinhaltet.

Wie lässt sich dieses Problem lösen? Wirklich feedup mit diesem Problem

Ich habe kein Problem, wenn ich serviceclient von einer anderen Seite oder von einer anderen Klassendatei aufrufen, es geben mir Problem, wenn ich während der Deinstallation der Anwendung, dh in Installer-Klasse aufrufen. Dies ist app.config Client-Konfigurationscode, den ich verwendet habe

Quellcode:

  <client> 

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

   </client>

Gibt es eine Notwendigkeit, dies in der Datei web.config des Webdienstes hinzuzufügen?

5voto

Belurd Punkte 772

Wahrscheinlich müssen Sie den Namen Ihres Endpunkts verwenden, wenn Sie Service1Client instatiating

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

Oder, wie es in meinem Fall war, haben Sie Ihre andere Klasse in einem anderen Projekt in Lösung und zwei app.config Klassen. Sie müssen also die Beschreibung der Enpoints und Bindungen in die Haupt-app.config kopieren/einfügen.

0voto

croisharp Punkte 1876

Versuchen Sie, die Dienstreferenz zu aktualisieren, und prüfen Sie, ob die Client-Konfiguration in der Konfigurationsdatei des Startprojekts enthalten ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X