调用webserver时出现:请求因 HTTP 状态 401 失败: Unauthorized。

请求因 HTTP 状态 401 失败: Unauthorized

    今天在调用webserver时出现了上述标题的错误,开始认为是由于端口的问题,我把端口恢复80默认端口后,但是问题并没有解决!后来我自己又试了很多方法,都没解决现在解决了,就是权限问题!!

我把心得分给大家看看哦!对了,我用的是server2003,xp就更好搞定了!!

开始学习WebServer,客户端调用时,提示 "请求因 HTTP 状态 401 失败: Unauthorized。"
查看相关文档,找到两种解决方法
1.右击 - 虚拟目录 - 属性 - 目录安全性 - 编辑 打开对话框后,勾选"启用匿名访问"
2.在WebServer实例化调用前加 "字段名..Credentials = System.Net.CredentialCache.DefaultCredentials;"
例如:
WEB1.Service ws1 = new WebServer_Test.WEB1.Service();
ws1.Credentials = System.Net.CredentialCache.DefaultCredentials;
textBox1.Text = ws1.HelloWorld();

另,以下引用 Mood 朋友的一段话
调用WS的时候,在IIS上有验证设置的,一般设置的是basic验证或者Windows集成验证,这就是说,你要访问这个WS,必须提供一个有权限调用的windows身份,这个时候,如果你的当前调用WS的运行帐号存在于对方系统中,并且密码一样,那么,你的那句ws.Credentials=CredentialCache.DefaultCredentials;就有用,否则,你应该如此写:ws.Credentials = new NetworkCredential(userid,password,domainname),当然如果对方的WS使用了匿名验证,你当前就可以不用写ws.Credentials=....这行代码了。

出处:http://hi.baidu.com/ligang1017/item/4ed5b5e0ef1923246dabb8bd

posted on   jack_Meng  阅读(7476)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩