2011-02-03 14 views
4

WCFサービスアプリケーションを作成し、IIS7でホストしました。現在、いくつかのテスト 'helloworld'メソッドがあります。私は私のブラウザでそれを実行すると、私は、この画面が出ます: enter image description hereWCF Webサービス操作の表示

今、サービス自体は素晴らしい作品が、どのように私はこのような操作を表示することができます。 enter image description here

リンクのmarc_sのおかげ:http://www.dotnetcurry.com/ShowArticle.aspx?ID=399ました私のウェブ設定は次のように設定されています:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
    </system.web> 
    <system.serviceModel> 
    <services> 
     <service name="WcfServer.Service1"> 
     <endpoint address="" binding="webHttpBinding" contract="WcfServer.IService1" behaviorConfiguration="HelpBehaviour" /> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior> 
      <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment --> 
      <serviceMetadata httpGetEnabled="true" /> 
      <!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information --> 
      <serviceDebug includeExceptionDetailInFaults="false" /> 
     </behavior> 
     </serviceBehaviors> 
     <endpointBehaviors> 
     <behavior name="AjaxBehavior"> 
      <enableWebScript /> 
     </behavior> 
     <behavior name="HelpBehaviour"> 
      <webHttp helpEnabled="true"/> 
     </behavior> 
     </endpointBehaviors> 
    </behaviors> 
    </system.serviceModel> 
<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
     <directoryBrowse enabled="true" showFlags="Date, Time, Size, Extension" /> 
    </system.webServer> 
</configuration> 

しかし、これはローカルでしか動作しません。 IIS7のサーバーに公開すると、ヘルプリンクをクリックすると404エラーページが表示されます。誰がこれがなぜであるか知っていますか、それとも前に出てきましたか?

は(最終ビットが実行することによって解決された:aspnet_regiis.exe -iru)あなたはSOAPバインディングとWCFサービスを持っている場合は

+0

あなたがCでWCFをテストするためにWCFTestClientを使用して最高です:\プログラムファイル(x86の)\のMicrosoft Visual Studio 10.0 \ Common7 \ IDE(VS 2010) –

+0

これは私がやった最初のことでした:これはうまくいきます! –

答えて

9

は、あなたが、残念ながら運の外出:リストを取得するためのボックスのうちWCFでの方法はありませんすべてのサービスでASMXに似ています。

RESTバインディング(webHttpBinding)および.NET 4.0では、URIテンプレート、サポートされているHTTPメソッドなどを示す自動ヘルプページを生成できます。そのページをある程度調整することもできます。

自動ヘルプページを生成することを持つためには、ユーザーが定義した(参照)する必要があるエンドポイントの動作:

<behaviors> 
    <endpointBehaviors> 
     <behavior name="HelpBehavior"> 
      <webHttp helpEnabled="true" /> 
     </behavior> 
    </endpointBehaviors> 
</behaviors> 

次に、あなたのwebHttpBindingエンドポイントからその動作を参照すると、あなたは完了です。

それについてのすべてを読む:

+2

+1私は同じ答えを書いていました。私は、RESTサービスのヘルプページのURLにsufix/helpが追加されているだけです:http://msdn.microsoft.com/en-us/library/ee230442.aspx –

+0

自動ヘルプページはどのように生成できますか? .NET 4.0を使用していて、RESTサービスを試行していましたが、web.configに定義されているエンドポイントはありません。私はこれらを自分で書く必要がありますか? –

+0

「デフォルトのエンドポイント」については、定義されていない場合に使用されますか? –

関連する問題