0

私はデプロイメントとwcfにかなり慣れていませんが、なぜ次のことが発生するのかわかりません

単一のservice.svcと、文字列を受け入れて返す単一のルックアップメソッドGetStatusとの関連するコントラクトを持つVS2010WCFプロジェクトがあります。推奨事項に従って、Web.configを生成されたままにして、エンドポイントが定義されていないことに注意してください。次に、パラメーターServiceURL:Localhost site / application:main / statusを指定してpublishを使用して、ローカルiis7にデプロイされました。

次に、iisにアクセスして、main/statusフォルダー構造の下に展開されていることを確認しました。

ただし、wcfテストクライアントを使用してアクセスしようとすると、

http://localhost/main/status/service.svc or
http://localhost/status/service.svc 

notfoundエラーが発生します。

Metadata from http://localhost/main/status/Status.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.  For help enabling metadata publishing, please refer to the MSDN documentation 

iisから参照しようとすると、同じエラーが発生します。

設定ファイル(生成された)を参照してください

<?xml version="1.0"?>
<configuration>

  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <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" httpsGetEnabled="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>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

</configuration>

どんな助けでも素晴らしいでしょう

4

1 に答える 1

0

web.config ファイルでメタデータが有効になっていることを確認してください。

<system.serviceModel>
<behaviors>
<serviceBehaviors>
  <behavior>
    <!-- To avoid disclosing metadata information, set the values 
         below to false before deployment -->
    <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
    <serviceDebug includeExceptionDetailInFaults="false"/>
  </behavior>
</serviceBehaviors>

メタデータが有効になっている場合、サービスはその URL に存在しません。デフォルトでは、WCF は basicHttpBinding と SOAP 1.1 を使用します。

于 2012-08-06T03:41:46.343 に答える