C# 在Visual Studio中使用Windows身份验证服务进行客户端开发

C# 在Visual Studio中使用Windows身份验证服务进行客户端开发,c#,asp.net,.net,wcf,windows-authentication,C#,Asp.net,.net,Wcf,Windows Authentication,我在服务器上托管了一个服务。服务身份验证正在使用Windows身份验证。我想在VisualStudio2010的网站开发中使用此服务。当我尝试添加引用时,它会显示以下错误 “Security settings for this service require Windows Authentication but it is not enabled for the IIS application that hosts this service.” 我应该做些什么来克服它,并能够使用服务进行开发

我在服务器上托管了一个服务。服务身份验证正在使用Windows身份验证。我想在VisualStudio2010的网站开发中使用此服务。当我尝试添加引用时,它会显示以下错误

“Security settings for this service require Windows Authentication but it is not enabled for the IIS application that hosts this service.”
我应该做些什么来克服它,并能够使用服务进行开发

注意:错误消息很明显。我正在寻找的是克服这一问题的最佳方法

注意:当我在Mozilla Firefox中键入服务地址时,它会询问我的windows凭据-输入凭据时,它会给出服务描述。问题是当我通过VisualStudio使用它时



如果我理解正确,您的服务已经在愉快地运行并使用Windows身份验证,因此它要求呼叫应用程序、您的网站也使用Windows身份验证

当您尝试添加引用时,VS将使用项目属性中定义的任何web服务器在后台启动您的站点。您说您正在使用内置web服务器(也称为Cassini或Webdev)启动站点。您需要确保您的站点正在使用Windows身份验证。您可以从服务的项目属性(右键单击根文件夹并选择属性)执行此操作。在那里,您将看到一个Web选项卡,其中有一个NTLM身份验证复选框-请确保选中该复选框

此外,请确保您使用:

<system.web>
   <authentication mode="Windows">
...

安装IIS并定义应用程序根目录并将目录指向本地源文件夹后,请为该web应用程序/站点启用Windows(NTLM)身份验证。如何执行此操作取决于正在运行的IIS版本,但通常是通过单击“身份验证”图标。您可能需要禁用匿名以及启用Windows身份验证,以便所有请求都强制进入Windows身份验证。对于不支持自动NTLM身份验证的浏览器,我还启用了基本表单身份验证

一旦定义了IIS应用程序,就可以使用它从VisualStudio而不是内置web服务器进行调试。通过选择“使用本地IIS服务器”并选择上面创建的IIS站点的Url,也可以从项目属性中执行此操作。或者,如果IIS站点定义尚不存在,VS可以为您创建该定义


上述任何一种方法都应该确保当VS启动您的站点以添加引用时,它将使用身份验证,以及在运行时使用身份验证。请注意,您可以手动添加引用,而无需启动站点。然后,您只需确保在运行时具有Windows身份验证,如上所述。

是否通过IIS或内置Web服务器进行测试?如果已安装,它是在Windows 7中的“控制面板>打开或关闭Windows功能>Internet信息服务”中启用的。我建议IIS Express:@jao我可以在我的控制面板中看到IIS 7.5 Express。现在我该怎么解决我的问题呢?