【问题标题】:How to publish a WCF Rest Webservice?如何发布 WCF Rest Web 服务?
【发布时间】:2015-11-09 11:28:13
【问题描述】:

我的 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

有什么建议吗?

【问题讨论】:

  • 您的站点是否在 IIS 中进行了身份验证?在“连接身份”中检查您网站的基本设置
  • @RGdent 我有“应用程序用户(直通身份验证)”选项。
  • 是的,在“连接为...”旁边单击“测试设置...”应该有两个结果:“身份验证”和“授权”,它们旁边都应该有一个绿色复选标记给他们。
  • 授权时显示黄色(无法验证访问路径 (C....)))
  • 看看this,这有助于我解决此问题,检查身份验证的第 3 步,但也是好文章。希望对您有所帮助。

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


【解决方案1】:

你可以试试这个。

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    相关资源
    最近更新 更多