http://localhost/ReportServer可以访问
但是http://localhost/Reports不能访问
     错误为:请求因 HTTP 状态 401 失败: Unauthorized。
哪位大侠知道怎么弄?

解决方案 »

  1.   

    查看相关文档,找到两种解决方法
    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=....这行代码了。