0

我开发了一个 WCF 网络服务并将其部署到我的网络服务器。测试我的移动应用程序,Web 服务返回 HTTP 415 错误。错误的媒体类型。所以,我进入 IIS 服务器管理器并添加了 .svc mime 类型。我的应用程序工作过一次。我对应用程序进行了一些更改并重新部署它,然后返回 415 错误。

请记住这一点:将 mime 类型添加到 Web 服务配置后,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(和其他站点设置)将消失。经过两天的头撞后,我终于记住了这一点。谢谢,我希望这对某人有所帮助。

4

1 回答 1

0

我删除了我的网络服务并重新编写了它。我注意到 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 回答