2011-08-08 10 views
1

私はプロジェクトでWCFサービスを作成しました。今私は正常にサービスを消費することができますJqueryを使用して、私はWindowsアプリケーションでWeb参照としてサービスを追加しようとすると、私はそれを呼び出すことができません。私は単純なサービスを作成する場合、私は正常にWindowsアプリケーションで呼び出すことができますが、私はいくつかのGoogleの検索を行うことによって見つけたjqueryのサービスを呼び出す変更を行う場合。私はどこに行方がわからないのか分かりません。WindowsアプリケーションでWCFサービスを使用しますか?

以下はコードです。 これはWCFのインターフェイスです。

[ServiceContract] 
public interface ITestService 
{ 
    [OperationContract] 
    void DoWork(); 

    [OperationContract] 
    [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]  
    string HelloWorld(); 
} 

クラスの呼び出しインタフェース

public class TestService : ITestService 
{ 
    public void DoWork() 
    { 
    } 


    public string HelloWorld() 
    { 
     return "Hello World"; 
    } 
} 

}

、ここでは、アプリケーションのWeb構成です。

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

    <!--<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />--> 
    <services> 
    <service name="WebAppWithWCF.TestService" behaviorConfiguration="TestWCFBehavior"> 
     <endpoint address="" binding="webHttpBinding" contract="WebAppWithWCF.ITestService" behaviorConfiguration="TestWCFBehavior"/> 
    </service> 
    </services> 
</system.serviceModel> 

は私が

...助けて、任意の情報は、私の側から欠落している場合は私に知らせてください...いくつかの試行錯誤を行っているが、今までの方法を見つけたことができませんでした。

答えて

2

webHttpBindingはメタデータを公開しないため、参照を追加できません。

基本的には、サービス参照の追加機能は、(メタデータ/WDSLを介して公開)サービスの知られているものに基づいて、プロキシやクラスを生成します。

サービスはwsHttpBindingまたはbasicHttpBindingの両方でサービスのメタデータを公開します。これらは通常、.NETから.NETへのクライアント/サーバーアプリケーションを構築するときに使用されます。

両方の実装バインディング:WCF Service with webHttpBinding-basicHttpBinding-wcHttpBinding

+0

を私たちは、複数のバインディングを追加することができ、我々は複数のものに公開したいときには非常に便利です。ありがとうマックス。 – kunjee

+0

あなたは大歓迎です! – maxbeaudoin

関連する問題