c# - How to specifiy proxy settings for SSRS Winforms Control -
i using ssrs winforms client control display reports in app. user's behind proxies getting 407 (proxy authentication) error. how specify proxy settings request? i.e. proxy server, username & password. expecting similar httprequest , webproxy.
this helpful c# connecting through proxy need specify proxy settings on per ssrs request basis.
any ideas?
thanks.
you can specify proxy settings using reporting web services.
- add reporting web reference project. url of web service :
- in code calling web service.
byte[] report = null;
//create instance of reporting service web reference var reportreference = new reportexecutionservice(); <strong>//set proxy settings reportreference.proxy = new webproxy("address:port"); //create credential used authenticate again
reporting services var credential = new networkcredential("username", "password", "domainname");
reportreference.credentials =
credential;
reportreference.preauthenticate =
true;
//the virtual path report string virtualpath = "/folder/reportname";
//specify device info string deviceinfo = "<deviceinfo><toolbar>false</toolbar><parameters>false</parameters><docmap>true</docmap><zoom>100</zoom></deviceinfo>"; //create array of parameters, example our report needs 2 parameters var parameters = new parametervalue[2]; //specify value parameter var startdateparameter = new parametervalue(); startdateparameter.name = "startdate"; startdateparameter.value = "01/01/2008"; parameters[0] = startdateparameter; var enddateparameter = new parametervalue(); enddateparameter.name = "enddate"; enddateparameter.value = "31/12/2008"; parameters[1] = enddateparameter; //create variables remainder of parameters string extension = string.empty; executionheader executionheader = null; reportreference.executionheadervalue =
executionheader;
reportreference.loadreport(virtualpath,
null);
reportreference.setexecutionparameters(parameters,
"en-au");
try { //execute report string[] streamids; warning[] warning = null; string encoding; string mimetype; string format = "pdf"; <strong>//execute report report = reportreference.render(format,
deviceinfo, out extension, out mimetype, out encoding, out warning, out streamids);
using (var filestream = new filestream("myreport.pdf", filemode.create)) { filestream.write(report, 0,
report.length);
filestream.close(); }
> process.start("myreport.pdf");
} catch (soapexception exception) {
}
Comments
Post a Comment