c# - ReportExecutionService not honoring timeout -


i using .net reportexecutionservice render ssrs reports. rendering many reports in rapid fire , randomly getting reports timeout. somewhere around 1 out of 1400 reports hang.

when check hanging report in executionlog3, see report status of rssuccess, , total time of around 3s. looks report finishes response never gets seen render call, , times out after 5 minutes following exception:

    system.invalidoperationexception: there error in xml document (1, 2655). ---> system.net.webexception: operation has timed out.    @ system.net.connectstream.read(byte[] buffer, int32 offset, int32 size)    @ system.io.streamreader.readbuffer(char[] userbuffer, int32 useroffset, int32 desiredchars, boolean& readtouserbuffer)    @ system.io.streamreader.read(char[] buffer, int32 index, int32 count)    @ system.xml.xmltextreaderimpl.readdata()    @ system.xml.xmltextreaderimpl.parsetext(int32& startpos, int32& endpos, int32& outorchars)    @ system.xml.xmltextreaderimpl.parsetext()    @ system.xml.xmltextreaderimpl.parseelementcontent()    @ system.xml.xmltextreaderimpl.read()    @ system.xml.xmltextreader.read()    @ system.xml.xmlreader.readelementstring()    @ microsoft.xml.serialization.generatedassembly.xmlserializationreader1.read12_reportparameter(boolean isnullable, boolean checktype)    @ microsoft.xml.serialization.generatedassembly.xmlserializationreader1.read17_executioninfo(boolean isnullable, boolean checktype)    @ microsoft.xml.serialization.generatedassembly.xmlserializationreader1.read111_setexecutionparametersresponse()    @ microsoft.xml.serialization.generatedassembly.arrayofobjectserializer25.deserialize(xmlserializationreader reader)    @ system.xml.serialization.xmlserializer.deserialize(xmlreader xmlreader, string encodingstyle, xmldeserializationevents events)    --- end of inner exception stack trace --- 

if has suggestions on how prevent these timeouts glad try, think easier solution if can figure out how set shorter timeout on render call. if can time out , retry report after 30s still give performance need.

here render call. timeout option need change make call fail after 30s?

//tried setting timeout in constructor var rsexec = new rsexecservice.reportexecutionservice {        url = string.format("{0}{1}", url, executionserviceurl), timeout = 30000 }; //tried setting timeout before calling render rsexec.timeout = 30 * 1000; results = rsexec.render(format, deviceinfo, out extension, out mimetype, out encoding, out warnings, out streamids); 


Comments

Popular posts from this blog

networking - Vagrant-provisioned VirtualBox VM is not reachable from Ubuntu host -

c# - ASP.NET Core - There is already an object named 'AspNetRoles' in the database -

ruby on rails - ArgumentError: Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true -