2016-12-07 10 views
0

何らかの理由で、代わりにカスタムデータを返すサービスの/ helpメソッドをオーバーライドできるかどうかを確認するように求められます。 // {} MYDOMAIN /CRM/Customers.svc/json/helpWCFサービスのオーバーロードヘルプメソッド

see here

可能なすべてのメソッドを返します。現在、私はこの1つ

HTTPのような呼び出しのURLを持っています

私はserviceContractでこれを試しましたが、自分のメソッドにアクセスできません。それは可能ですか?

[WebInvoke(Method = "GET", UriTemplate = "/help", RequestFormat = WebMessageFormat.Json, 
          ResponseFormat = WebMessageFormat.Json)] 
void GetInformations(); 

おかげ

+0

下記参照、 は、私は私のサービスにカスタムbehaviorConfigurationを適用し、その中に私が助けを無効にして? –

+0

ServiceContractのインターフェイスは公開されているため、可視性の問題はありません。 –

答えて

0

@Balajiのおかげで、私はもう少し掘り下げて、やや違う方法で動作させることができました。署名は、民間の代わりにパブリックにする必要があり

<system.serviceModel> 
    <services> 
     <service behaviorConfiguration="ServiceBehavior" name="{myDomain}.CRM.Customers"> 
      <endpoint address="json" binding="webHttpBinding" behaviorConfiguration="JsonBehavior" bindingConfiguration="" contract="{contract}"/> 
     </service> 
    </services> 
    <behaviors> 
     <endpointBehaviors> 
      <behavior name="JsonBehavior"> 
       <webHttp helpEnabled="false"/> 
      </behavior> 
     </endpointBehaviors> 
    </behaviors> 
</system.serviceModel> 
+0

私は自分のページで単一の設定を使用しました。あなたの必要条件については、あなたが行ったのと同じように、https://msdn.microsoft.com/en-us/library/ee230442(v=vs.110).aspxの文書を参照してください。 –

+0

もう一度お世話になりました! –

1

のweb.configヘルプページでデフォルトのWeb HTTPエンドポイントで有効になっています。これをオーバーライドするには、falseに設定します。オーバーライドメソッドがトリガーされます。

<webHttpEndpoint> 
     <!-- TIP: Enable automatic XML/JSON support --> 
     <!-- TIP: Enable service help page --> 
     <standardEndpoint automaticFormatSelectionEnabled="true" helpEnabled="false"/> 
     </webHttpEndpoint> 
+0

あなたのソリューションは私の必要と思われるソリューションです。system.serviceModelノードのweb.configに追加しました それが表示され、ヘルプページを変更、私は何かが欠けていないのですか? ボーナスポイント:web.configにmutliplesサービスが設定されています。必要なサービスにのみこの変更を適用できますか? –