"WebHttpBinding" in WCF: wie es zu konfigurieren, den richtigen Weg?

Versucht, diesem Beispiel zu Folgen, damit es funktioniert: http://weblogs.asp.net/kiyoshi/archive/2008/10/08/wcf-using-webhttpbinding-for-rest-services.aspx

Hier ist mein App.config:

<system.serviceModel>
   <services>      
      <!-- The service for the TEST WEB client -->
      <service name="MyServer.AAServiceType" behaviorConfiguration="Default">
         <endpoint address="testservice" 
                   binding="webHttpBinding" behaviorConfiguration="webBehavior"
                   contract="MyServer.AAIContractName" />
         <host>
            <baseAddresses>
               <add baseAddress="http://localhost:8787/" />
            </baseAddresses>
         </host>
      </service>
    </services>
    <behaviors>
       <serviceBehaviors>
          <!-- TEST WEB BEHAVIOR -->
          <behavior name="Default">
             <serviceMetadata httpGetEnabled="true"/>
          </behavior>
       </serviceBehaviors>
       <!-- TEST WEB ENDPOINT -->
       <endpointBehaviors>
          <behavior name="webBehavior">
             <webHttp />
          </behavior>
       </endpointBehaviors>
   </behaviors>
</system.serviceModel>

Update: Der service-Vertrag ist:

namespace MyServer
{
    [ServiceContract(SessionMode=SessionMode.NotAllowed)] 
    public interface IContractName 
    { 
        [WebGet(UriTemplate = "date/{year}/{month}/{day}", ResponseFormat = WebMessageFormat.Xml)] 
        [OperationContract] 
        string GetDate(string day, string month, string year); 
    }

    public class ServiceType : IContractName 
    {  
        public string GetDate(string day, string month, string year) 
        { 
           return new DateTime(Convert.ToInt32(year), Convert.ToInt32(month), Convert.ToInt32(day)).ToString("dddd, MMMM dd, yyyy"); 
        } 
    }
}

Das problem ist, dass wenn ich versuche eine Verbindung zu port 8787 (mit putty zum Beispiel) ein "Connection refused" Fehler zurückgegeben. Wie Sie sehen können, habe ich auch versucht, die falschen Namen in der Klasse Vertrag und die service-Implementierung und bekam keine Ausnahmen. Was mache ich falsch, bitte?

Können Sie uns zeigen Sie Ihre service-Vertrag?? Was für eine URL-Vorlage, die Sie angeben?
Sicher. Wir bitten Sie sich das update. Auch aufgehört mit der lokal installierten IIS (über den UI-Konsole), um sicherzustellen, dass niemand fängt die HTTP-Anfragen.
Okay, problem gefunden - lieferte die Antwort von meiner eigenen.

InformationsquelleAutor BreakPhreak | 2010-09-21

Schreibe einen Kommentar