gpt4 book ai didi

c# - 报告服务 2008 : "HTTP status 401: Unauthorized" Issue

转载 作者:太空狗 更新时间:2023-10-29 17:41:01 24 4
gpt4 key购买 nike

每当我尝试在我的报告服务器上列出报告时,我都会收到错误消息“请求失败,HTTP 状态为 401:未经授权”。奇怪的是,当我在我的开发机器上运行 asp.net 应用程序点击服务器报告服务 web 服务 url(http://www.example.com/reports/reportservice2005.asmx?wsdl)但是当 asp.net 应用程序安装在服务器上(运行 iis 7)点击相同的网址我收到错误。这是我的设置:

服务器:

SQL Server 报告服务 2008(非 R2)

网络服务网址:http://www.example.com/reports/reportservice2005.asmx?wsdl

客户端

创建了一个代理 ReportingServices2005.cs

Web.config 有

列出报告的代码:

<asp:ListView ID="lvReportList" runat="server">
<LayoutTemplate>
<ul>
<asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>
</ul>
</LayoutTemplate>
<ItemTemplate>
<li>
<asp:HyperLink runat="server" ID="hpReportLink" NavigateUrl='<%#Eval("Url")%>'><%#Eval("Name")%></asp:HyperLink>
</li>
</ItemTemplate>
<EmptyDataTemplate>
<div>
No reports to display.
</div>
</EmptyDataTemplate>

代码隐藏:

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string rWebServiceUrl = ConfigurationManager.AppSettings["RSWebserviceUrl"];
string reportServerFolder = ConfigurationManager.AppSettings["ReportServerFolder"];
string domain = ConfigurationManager.AppSettings["RSDomain"];
string userName = ConfigurationManager.AppSettings["RSUsername"];
string password = ConfigurationManager.AppSettings["RSPassword"];

objRS.Url = rWebServiceUrl;
objRS.Credentials = new NetworkCredential(userName, password, domain);

ReportingServices2005.CatalogItem[] items = objRS.ListChildren(reportServerFolder, false);

var reportList = from p in items
select new
{
Name = p.Name,
Url = String.Format("{0}?reportPath={1}/{2}", ReportViewerUrl, reportServerFolder, p.Name)
};

lvReportList.DataSource = reportList;
lvReportList.DataBind();

}
}

最佳答案

在谷歌搜索大量论坛和文章几个小时后,我发现 Windows Server 中称为“环回检查”(http://support.microsoft.com/kb/926642) 的安全功能导致了这个问题。发生这种情况是因为我的报表服务器和 IIS 服务器都在同一台机器上,并且我使用完全限定的域名(FQDN:http://www.example.com/reportserver)来访问报表。我通过简单地使用服务器名称而不是域名来解决这个问题,即 http://mymachinename/reportserver .我希望这对某人有所帮助。

关于c# - 报告服务 2008 : "HTTP status 401: Unauthorized" Issue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3809051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com