0

WCF Web サービスを開発し、Web サーバーにデプロイしました。モバイル アプリケーションをテストすると、Web サービスが HTTP 415 エラーを返します。メディア タイプが正しくありません。そこで、IIS サーバー マネージャーに移動し、.svc MIME タイプを追加しました。私のアプリは一度機能しました。アプリに変更を加えて再デプロイしたところ、415 エラーが返されました。

注意: Web サービス構成に MIME タイプを追加すると、Web.conf ファイルが変更されます。IIS は次のように追加します。

 <system.webServer>
   <modules runAllManagedModulesForAllRequests="true" />
<directoryBrowse enabled="true" />
    **<staticContent>
        <mimeMap fileExtension=".svc" mimeType="application/octet-stream" />
    </staticContent>**

必ず StaticContent 情報を asp.net プロジェクトの web.config ファイルにコピーして戻してください。そうしないと、アプリを公開すると、IIS の web.config ファイルが上書きされ、.json (およびその他のサイト設定) が失われます。2日間のヘッドバンギングの後、ようやくこれを思い出しました。ありがとう、これが誰かに役立つことを願っています。

4

1 に答える 1

0

Web サービスを消去して書き直しました。私が気付いたのは、Visual Studio が JSON をサポートするためにサービス エンドポイントを配置していないことです。その省略を見つけたら、次のように追加しました。

 <behaviors> 
   <endpointBehaviors>
    <behavior name="jsonServiceBehaviour">
      <webHttp/>
    </behavior>
   </endpointBehaviors>

  <serviceBehaviors>
    <behavior name="ServiceBehaviour">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
   </serviceBehaviors>

追加することを忘れないでください....

<staticContent>
    <mimeMap fileExtension=".svc" mimeType="application/octet-stream" />
</staticContent>

これが誰かに役立つことを願っています。

于 2016-03-26T18:24:41.827 に答える