2016-12-19 8 views
0

こんにちは、私はWCF、MVC4、およびangularJSを使用して小さなアプリケーションを開発しています。私は私がサービスにアクセスするためのURLの下に与えたエラーmvc5アプリケーションでWCFサービスを使用できません。サービス参照を取得しようとしました。

Metadata publishing for this service is currently disabled. 

の下に取得しています私のMVCアプリケーションにサービス参照を追加しようとしたとき、私は、次のURLに

https://code.msdn.microsoft.com/AngularJS-Shopping-Cart-8d4dde90#content

を参照のうえいます。私はエラーを取得しています試してみました

http://localhost:55835/Service1.svc 

。私は自分のアプリケーションにサービス参照を追加できません。私はweb.configファイルについて少し心配しています。これは私のweb.configファイルです。

<system.web> 
    <compilation debug="true" targetFramework="4.5.2" /> 
    <httpRuntime targetFramework="4.5.2" /> 
    <httpModules> 
     <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" /> 
    </httpModules> 
    </system.web> 
    <system.serviceModel> 
    <behaviors> 
     <endpointBehaviors> 
     <behavior> 
      <webHttp helpEnabled="True"/> 
     </behavior> 
     </endpointBehaviors> 
    </behaviors> 
    <protocolMapping> 
     <add binding="webHttpBinding" scheme="http" /> 
    </protocolMapping> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> 
    </system.serviceModel> 

誰かが設定ファイルに何か不足していることを教えてもらえますか?

ありがとうございます。

+0

追加 ''行動あなたの設定ファイル。 – jsanalytics

答えて

0

クライアントがメタデータ(wsdlコード)に基づいてプロキシクラスを生成するため、metadata.Metadata(サービスコード用のwsdlドキュメント)が必要です。メタデータを有効にしない場合、クライアントはその種類のコードをそのプロキシクラスに実装する方法を決して知らないでしょう。これは、httpGetEnabledをtrueに設定することによってservicebehaviorタグの下のservicemetadataタグで有効にすることができます。

だけ</endpointBehaviors>タグの後にservicebehaviorタグの下にこのコード行を追加します。(再び<behaviour>タグを含めないでください)

<behaviors> 
     <serviceBehaviors> 
     <behavior> 
      <!-- To avoid disclosing metadata information, set the values below to false before deployment --> 

      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" httpGetUrl="true"/> 

     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
関連する問題