2016-10-04 10 views
2

現在、WPFアプリケーション内からいくつかのWebサービスをホストしています。また、自動ヘルプページを有効にしてサービスマニュアルを簡素化しました。 OperationContractには、メソッドに関する情報を含むDescription属性が付いています。タスクベースのWCFサービスのヘルプの説明がありません

ただし、私のヘルプページを見るときは、戻り値の型がvoidのメソッドだけが正しくDescriptionという属性をここに表示することに気付きました。 TaskまたはTask<t>を返すメソッドは、 "Service at localhost:XXXXX/ServiceEndpoint"としか記述しません。

このパターンはIPCで使用されているため、非同期操作規約に多く依存しているため、ほとんどはTaskまたはTask<t>を返します。ヘルプが正しく表示されるようにこの問題を解決する方法はありますか?ここで

enter image description here

namespace App 
{ 
    [ServiceContract] 
    public interface IMainService 
    { 
     [OperationContract] 
     [WebGet(UriTemplate = "visibility")] 
     [Description("Gets the main window visibility.")] 
     Task<bool> GetVisibilityAsync(); 

     [OperationContract] 
     [WebInvoke(UriTemplate = "visibility", Method = "PUT")] 
     [Description("Sets the main window visibility.")] 
     Task SetVisibilityAsync(bool isVisible); 

     [OperationContract] 
     [WebInvoke(UriTemplate = "menu", Method = "PUT")] 
     [Description("Navigates to the main menu.")] 
     void NavigateToMainMenu(); 

     [OperationContract] 
     [WebInvoke(UriTemplate = "shutdown", Method = "PUT")] 
     [Description("Requests the application to shutdown.")] 
     void RequestApplicationShutdown(); 
    } 
} 

私のapp.configは

<system.web> 
    <compilation debug="false" targetFramework="4.5" /> 
    </system.web> 

    <system.serviceModel> 
    <services> 

     <service name="App.MainService" behaviorConfiguration="rpcServiceBehavior"> 
     <endpoint binding="webHttpBinding" 
        contract="App.IMainService" 
        behaviorConfiguration="webHttpBehavior" 
        name="RpcEndpoint"/> 
     <host> 
      <baseAddresses> 
      <add baseAddress="http://localhost:25565/main"/> 
      </baseAddresses> 
     </host> 
     </service> 

    </services> 

    <behaviors> 
     <serviceBehaviors> 
     <behavior name="rpcServiceBehavior" > 
      <serviceMetadata httpGetEnabled="true" /> 
      <serviceDebug includeExceptionDetailInFaults="true" /> 
     </behavior> 
     </serviceBehaviors> 
     <endpointBehaviors> 
     <behavior name="webHttpBehavior"> 
      <webHttp helpEnabled="true" automaticFormatSelectionEnabled="true"/> 
     </behavior> 
     </endpointBehaviors> 
    </behaviors> 
    </system.serviceModel> 


    <system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"/> 
    </system.webServer> 

答えて

0

ある別のブラウザ(またはシークレットモードで)でデバッグするようにしてください。

説明

あなたはおそらくあなたのブラウザでそれを確認し、いくつかの記述を追加したためです。次に、より多くの説明タグを追加してブラウザで再度チェックしました。ページを再読み込みする代わりに、キャッシュにそのタグを開きました。ブラウザは、ページが静的なときにページをリロードするのではなく、キャッシュ内のブラウザで開きます。

関連する問題