Frage

Ich habe einen sehr grundlegenden Service-Betrieb geschaffen, dass der Bedarf Inhalt meine Datenbank zu schreiben. Dieser Service sieht wie folgt aus:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
[ServiceBehavior(IncludeExceptionDetailInFaults = false)]
public class myService : ImyService
{
  public MyServiceResult MyMethod(string p1, string p2)
  {
    try
    {
      // Do stuff
      MyResponseObject r = new MyResponseObject();
      r.Property1 = DateTime.Now;
      r.Property2 = "Some other data";
      return r;
    }
    catch (Exception ex)
    {
      return null;
    }
  }
}

ImyService definiert ist, wie hier gezeigt:

[ServiceContract]
public interface ImyService
{
  [OperationContract]
  [WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped)]
  MyServiceResult MyMethod(string p1, string p2);
}

wird dieser Service sowohl für WP7 und iPhone-Client-Anwendungen ausgesetzt werden. Aus diesem Grunde, ich glaube, ich brauche webHttpBinding zu verwenden. Dies hat dazu geführt, mir die folgenden Einstellungen in meiner web.config-Datei zu verwenden:

<system.serviceModel>      
  <behaviors>
    <endpointBehaviors>
      <behavior name="myServiceBehavior">
        <webHttp />
      </behavior>
    </endpointBehaviors>
    <serviceBehaviors>
      <behavior name="">
        <serviceMetadata httpGetEnabled="true" />
        <serviceDebug includeExceptionDetailInFaults="false" />
      </behavior>
    </serviceBehaviors>
  </behaviors>

  <serviceHostingEnvironment 
    aspNetCompatibilityEnabled="true"   
    multipleSiteBindingsEnabled="true" />
  <services>
    <service name="myService">
      <endpoint address="" 
        behaviorConfiguration="myServiceBehavior" 
        binding="webHttpBinding" 
        contract="ImyService" />
    </service>
  </services>
</system.serviceModel>

Sowohl der Service und WP7 App sind Teil der gleichen Lösung. Ich kann erfolgreich einen Verweis auf den Dienst in meiner Anwendung hinzuzufügen. Wenn ich die Anwendung zwar ausführen, die Seite, die Referenzen der Dienst einen Fehler auslöst. Der Fehler sagt:

kann nicht Standard Endpunktelement finden, dass Verweise Vertrag ‚MyServiceProxy.ImyService‘ im Servicemodel-Client-Konfiguration Abschnitt. Dies könnte werden, da keine Konfigurationsdatei wurde für Ihre Anwendung gefunden, oder weil kein Endpunktelement diesen Vertrag passenden kann im Client-Elemente gefunden werden.

Was mache ich falsch? Es scheint, wie dies eine ziemlich einfache Sache sein sollte. Vielen Dank für Ihre Hilfe.

War es hilfreich?

Lösung

Haben Sie die Datei „ServiceReferences.ClientConfig“ in Ihrem Windows Phone 7-Projekt kopiert? Diese Datei ist in Ihrem WCF-Projekt. Außerdem unterstützt das Basichttpbinding WP7-Clients. So können Sie eine leere „ServiceReferences.ClientConfig“ Datei, es sei denn, Sie Basichttpbinding wechseln

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top