[セットトップ]Reporting Services-Web Service


この2,3日は仕事中にレポートサーバーにレポートのリストを持って、後で忘れないように記録する必要があります.
まず、プロジェクト内でReporting Servicesのサービスを呼び出す必要があります.
サービスの追加後:
 ReportingWS.ReportingService2010 rs = new ReportingService2010();
                rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
                ReportingWS.CatalogItem[] items = rs.ListChildren("/", true);
                DataTable dt = new DataTable();
                dt.Columns.Add("text", typeof(string)); //   
                dt.Columns.Add("id", typeof(string));
                #region  
                for (int i = 0; i < items.Length; i++)
                {
                    // waxdoll\\administrator , 
                    string pcname = System.Environment.MachineName; //  
                    string username = System.Environment.UserName; //  
                    if (items[i].CreatedBy.ToLower() == (pcname + "\\" + username).ToLower())
                    {
                        if (items[i].TypeName == "Report")
                            dt.Rows.Add(items[i].Name, items[i].Path);
                    }
                }
                #endregion

これによりすべてのレポートが入手できる、もちろん私はフォルダをフィルタリングし、reportという接尾辞のリストを抽出し、フォルダが必要であればitem[1]という条件を追加することができる.type=="Folder"これでフォルダの名前がもらえます.