2

我正在使用 RESTful WCF 服务向客户端提供数据。托管服务的应用程序需要在服务器上集成 Windows 身份验证,这使得在 Cassini 中进行本地测试非常困难。我为我的服务使用以下行为配置,当部署到集成安全性打开的 IIS 时效果很好。

<webHttpBinding>
    <binding name="InstaCheckServiceWebHttpBinding">
        <security mode="TransportCredentialOnly">
            <transport clientCredentialType="Windows" />
        </security>
    </binding>
</webHttpBinding>

但是使用此配置,当我在 Visual Studio 中本地调试时尝试调用 Web 服务时,应用程序会引发以下错误。

此服务的安全设置需要“Windows”身份验证,但托管此服务的 IIS 应用程序未启用它

有没有办法在使用 Visual Studio 的内置 Web 服务器时包含集成的 Windows 身份验证,或解决此问题的其他一些方法?

谢谢!

4

2 回答 2

4

更改您的项目以使用 IIS 而不是 Cassini。

  1. 右键单击您的项目并选择属性,然后选择 Web 选项卡。

  2. 选择使用本地 IIS Web 服务器并单击创建虚拟目录按钮让 Visual Studio 为您在 IIS 中设置站点。

  3. 转到 IIS MMC 管理单元并为 Windows 身份验证配置适当的设置。

现在,当您运行项目时,它将使用 IIS 而不是 Cassini。

于 2009-12-03T19:20:36.820 回答
1

类似的问题在这里

TLDR 版本:如果您想调试安全设置,我认为 Cassini 不是 WCF 的理想选择

于 2009-12-03T21:18:12.153 回答