在asp.net(c#)中调用reporting services的 web服务,如果报表不是图形报表那没什么问题, 
输出到页面一切正常,如果是图形报表的话,图形报表的 图片是输不出来的 是一个叉叉,不解!忘高手解答!我估计是输出流出了问题,
=========================================================================
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using repwebservices.reportingservices;namespace repwebservices
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
this.InitReporting();
}#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{    
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);}
#endregion
private void InitReporting()
{
            byte[] report ; ReportingService rs = new ReportingService();//创建一个reportingservices的实例
rs.Credentials     = new System.Net.NetworkCredential("用户名","密码","域");//提供 用户名 密码 域rs.PreAuthenticate=true;//获取或设置是否设置了身份验证。string reportingPath = "/report/expertsearch";//报表虚拟路径string format = "html4.0";//输出格式string devInfo ="<DeviceInfo>"+"<StyleStream>false</StyleStream>"+"<GetImage>false</GetImage>"+"<Icon>True</Icon>"+"<Toolbar>True</Toolbar>"+"<Parameters>False</Parameters>"+"<DocMap>True</DocMap>"+"<Zoom>100</Zoom>"+"</DeviceInfo>";
          
        //string devInfo ="<DeviceInfo>"+"<Parameters>False</Parameters>"+"<DocMap>True</DocMap>"+"<Zoom>100</Zoom>"+"</DeviceInfo>";ParameterValue[] Parameters =new ParameterValue[1];//参数 数组ParameterValue Paramvalue = new ParameterValue();
Paramvalue.Name="speciality";
Paramvalue.Value="基础";
Parameters[0]=Paramvalue;
//Paramvalue = new ParameterValue();
//Paramvalue.Name="EndDate";
//Paramvalue.Value=this.Cal2.SelectedDate.ToString();
//Parameters[1]=Paramvalue;
//---------------------------------------------------------------
string historyID =null;    DataSourceCredentials[] credentials=null;string showHideToggle =null;string encoding,mimeType;Warning[] warnings=null ;ParameterValue[] reportHistoryParameters=null;string[] streamIDs = null;SessionHeader sh = new SessionHeader();rs.SessionHeaderValue=sh;//-------------------------------------------------------------report =rs.Render(reportingPath,format,historyID,devInfo,Parameters,credentials,showHideToggle,out encoding,out mimeType,out reportHistoryParameters,out warnings,out streamIDs);
  
 sh.SessionId=rs.SessionHeaderValue.SessionId;Response.Clear();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ContentType="text/html";
HttpContext.Current.Response.AppendHeader("Context-HttpContext.Current.Disposition","filename='Report6'");
HttpContext.Current.Response.BinaryWrite(report);
HttpContext.Current.Response.End();