如何发布WCF Rest Web服务?

时间:2015-11-09 11:28:13

标签: c# visual-studio web-services rest iis

我的App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <services>
      <service name="WcfJsonRestService.Service1">
        <endpoint address="http://localhost/webservice" 
                  binding="webHttpBinding" 
                  contract="WcfJsonRestService.IService1"/>
      </service>
    </services>
    <behaviors>
      <endpointBehaviors>
        <behavior>
          <webHttp />
        </behavior>
      </endpointBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

我将我的网络服务发布到了http://localhost/webservice目标,但是当我在浏览器中打开http://localhost/webservice/时,我得到了这个:

localhost - /webservice/

[To Parent Directory]

 11/9/2015 10:30 AM        <dir> bin
 11/9/2015 11:23 AM           58 WcfJsonRestService.Service1.svc
 11/9/2015 11:22 AM          481 Web.config

这在调试模式下运行良好。我只是http://localhost/webservice/getUsers,我收到了一个用户列表。我将Web服务发布到IIS时会出现问题,因为http://localhost/webservice/getUsers返回HTTP Error 404.0 - Not Found

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

你可以试试这个。

  

您可以使用默认配置匿名身份验证   匿名用户帐户(IUSR),或者您可以设置本地用户帐户   对于匿名用户。

  1. 在IIS管理器的“功能”视图中,双击“身份验证”。
  2. 在“身份验证”页面上,选择“匿名身份验证”。
  3. 在“操作”窗格中,单击“编辑”以设置匿名用户将连接到该站点的安全主体(用户凭据)。
  4. 在“编辑匿名身份验证凭据”对话框中,选择以下选项之一:

    • 如果要配置IIS用于访问站点或应用程序的特定用户帐户,请选择“特定用户”。然后单击“设置”以打开“设置凭据”对话框,并输入标识的用户名和密码。然后单击“确定”。

    • 如果希望使用当前在应用程序池的属性页上指定的帐户运行IIS进程,请选择“应用程序池标识”。默认情况下,此标识是IUSR帐户。 (重要提示:如果您使用IUSR帐户,则授予匿名用户与该帐户关联的所有内部网络访问权限。)

  5. 单击“确定”关闭“编辑匿名身份验证凭据”对话框。

  6. 您可以使用this链接作为参考。