2016-12-09 12 views
0

HTTPとNamed PipesでアクセスできるWCFサービスを作成しようとしています。デフォルト設定(netNamedPipeBindingとエンドポイントを追加)を変更した後、WCFサービスをもう使用できなくなりました。私のWeb.configで何かが間違っている必要があります。WCFがメタデータを取得できません

編集:私は、私は取得していますエラーに投稿するのを忘れ

Error: Cannot obtain Metadata from http://localhost/WebServices/CreateContent.svc

If this is a Windows (R) Communication Foundation service to which you have access, please check that you have enabled metadata publishing at the specified address.

のWeb.configは

<system.serviceModel> 
    <services> 
     <service name="Application.WebServices.CreateContent" behaviorConfiguration="behave"> 
     <endpoint binding="basicHttpBinding" bindingConfiguration="basicHttpBinding" 
      name="basicHttp" contract="Application.WebServices.ICreateContent" /> 
     <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="mexHttpBinding" 
      name="mexHttp" contract="IMetadataExchange" /> 
     <endpoint binding="netNamedPipeBinding" bindingConfiguration="netNamedPipeBinding" 
      name="netNamedPipe" contract="PTUmbraco.WebServices.ICreateContent" /> 
     <endpoint binding="mexNamedPipeBinding" bindingConfiguration="mexNamedPipeBinding" 
      name="mexNamedPipe" contract="IMetadataExchange" /> 
     <host> 
      <baseAddresses> 
      <add baseAddress="http://localhost/WebServices/CreateContent.svc" /> 
      </baseAddresses> 
     </host> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="behave"> 
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> 
      <serviceDebug includeExceptionDetailInFaults="false" /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> 
    <bindings> 
     <basicHttpBinding> 
     <binding name="basicHttpBinding" maxBufferSize="10485760" maxReceivedMessageSize="10485760" /> 
     </basicHttpBinding> 
     <netNamedPipeBinding> 
     <binding name="netNamedPipeBinding" /> 
     </netNamedPipeBinding> 
     <mexHttpBinding> 
     <binding name="mexHttpBinding" /> 
     </mexHttpBinding> 
     <mexNamedPipeBinding> 
     <binding name="mexNamedPipeBinding" /> 
     </mexNamedPipeBinding> 
    </bindings> 
    </system.serviceModel> 
+0

あなたはどのようなエラーを取得している:

ここでそのServiceModelツールの詳細情報ですか? – Stormhashe

答えて

0

私は最高のようにお答えしようとするでしょう私はあなたが何を得ているのかを投稿しなかったので、できます。

Net.Pipe Listener Adapterサービスが起動して実行中であることを確認しましたか?

enter image description here

あなたが取得しているエラーは、彼らはあなたがServiceModelの登録を使用する必要があります、「エンドポイントアドレスのサービスは、アドレスのプロトコルのために使用できないため、メッセージがディスパッチすることができませんでした」である場合、

C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319> ServiceModelReg.exe -r

Iマイクロソフトから、あなたのフレームワークのフォルダでこのコマンドを実行してツールWCFにはすでにいくつかの問題がありました。あなたと同じように、設定の問題だと思っていましたが、あなたの設定は大丈夫だと思われます。

https://forums.asp.net/t/2039313.aspx?WCF+TCP+Binding+Hosted+in+IIS+7+endpoint+address+is+unavailable+for+the+protocol+of+the+address

+0

ありがとうございました。私が得ているエラーは: 'エラー:http:// localhost/WebServices/CreateContent.svc.'からメタデータを取得できません。 。 (私は、WcfTestClientと自分のクライアントでテストされた)HTTP経由でサービスにアクセスすることができました。エンドポイントを追加して、動作に名前を付け、NamedPipeのバインディングを追加しました。設定を編集した後は、もうアクセスできません。そのため、私はconfigファイルで間違いを犯したと確信しています。 –

関連する問題