如何发布WCF Rest Web服务

本文关键字:Web 服务 Rest WCF 何发布 | 更新日期: 2023-09-27 18:21:07

My 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目标发布了我的Web服务,但当我在浏览器中打开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

有什么建议吗?

如何发布WCF Rest Web服务

你可以试试这个。

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

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

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

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

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

您可以使用此链接作为参考。