我在另一台服务器上托管了Web服务,并且IIS中的匿名访问复选框已选中。当我的本地Web应用程序尝试访问Web服务时,仍然收到“请求失败,HTTP状态为401:拒绝访问。”错误。我的Web应用程序正在调用Web服务,如下所示:ws =新建的我的对象.网络服务(); ws.检索(someParams);我错过了什么?
ogsagwnx1#
Here是诊断401错误的好参考。从这里开始,一个地方是查看您为匿名用户配置的凭据。如果它们不正确(如果用户密码可能在其他地方被更改),您将得到一个HTTP 401。
yshpjwxd2#
确保你的目录权限也设置为允许每个人读访问。很多时候做本地开发工作,我会忘记正在访问的目录有一个单独的权限集,需要修改。干杯!干杯!
vxqlmq5t3#
检查此http://www.c-sharpcorner.com/UploadFile/mahesh/40107282006095201AM/401.aspx。//Assigning DefaultCredentials to the Credentials property //of the Web service client proxy (myProxy). myProxy.Credentials= System.Net.CredentialCache.DefaultCredentials;这个代码对我有用。
//Assigning DefaultCredentials to the Credentials property //of the Web service client proxy (myProxy). myProxy.Credentials= System.Net.CredentialCache.DefaultCredentials;
w8ntj3qf4#
你有没有试过取消选择允许iis控制密码的一些时间,得到了sink。尝试该网站和它可能工作.你应该能够重新启用控制后
u7up0aaq5#
请尝试以下操作(注意预身份验证):
MyObject.WebService ws = new MyObject.WebService(); ws.PreAuthenticate = true; response = ws.Retrieve(someParams);
要了解更详细的解释为什么这可能工作,您可以参考以下答案http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/thread/3ae9753d-2d97-45b9-9ba2-6d551fe60a48/。
jrcvhitl6#
我认为可能发生的情况是,您得到了一个401 -权限被拒绝,但不清楚该权限被拒绝给谁。我猜此时您已经检查了计算机上的NTFS权限,并确认您确实具有访问权限。接下来,我将查看应用程序池使用的帐户。如果是默认设置,则可能是NT网络服务帐户。如果是这种情况,请确认该帐户确实具有访问应用程序目录的权限。如果确实如此,则可能是COM+安全设置。默认情况下,您的网络服务帐户没有远程启动组件的权限。如果是这种情况,您将在系统和安全日志中看到错误,并显示链接“无法启动组件“查看IIS日志文件以及iis服务器上的系统和安全事件日志通常会得到更多线索。希望它能帮上忙。
6条答案
按热度按时间ogsagwnx1#
Here是诊断401错误的好参考。
从这里开始,一个地方是查看您为匿名用户配置的凭据。如果它们不正确(如果用户密码可能在其他地方被更改),您将得到一个HTTP 401。
yshpjwxd2#
确保你的目录权限也设置为允许每个人读访问。很多时候做本地开发工作,我会忘记正在访问的目录有一个单独的权限集,需要修改。
干杯!干杯!
vxqlmq5t3#
检查此http://www.c-sharpcorner.com/UploadFile/mahesh/40107282006095201AM/401.aspx。
//Assigning DefaultCredentials to the Credentials property //of the Web service client proxy (myProxy). myProxy.Credentials= System.Net.CredentialCache.DefaultCredentials;
这个代码对我有用。
w8ntj3qf4#
你有没有试过取消选择允许iis控制密码的一些时间,得到了sink。
尝试该网站和它可能工作.你应该能够重新启用控制后
u7up0aaq5#
请尝试以下操作(注意预身份验证):
要了解更详细的解释为什么这可能工作,您可以参考以下答案http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/thread/3ae9753d-2d97-45b9-9ba2-6d551fe60a48/。
jrcvhitl6#
我认为可能发生的情况是,您得到了一个401 -权限被拒绝,但不清楚该权限被拒绝给谁。我猜此时您已经检查了计算机上的NTFS权限,并确认您确实具有访问权限。
接下来,我将查看应用程序池使用的帐户。如果是默认设置,则可能是NT网络服务帐户。如果是这种情况,请确认该帐户确实具有访问应用程序目录的权限。如果确实如此,则可能是COM+安全设置。默认情况下,您的网络服务帐户没有远程启动组件的权限。如果是这种情况,您将在系统和安全日志中看到错误,并显示链接“无法启动组件“
查看IIS日志文件以及iis服务器上的系统和安全事件日志通常会得到更多线索。
希望它能帮上忙。