Я пытаюсь создать отчет непосредственно из кода (чтобы отправить его по почте после). Я делаю это в службе Windows.
Итак, вот что я делаю:
Dim rview As New ReportViewer()
Dim reportServerAddress As String = "http://server/Reports_client"
rview.ServerReport.ReportServerUrl = New Uri(reportServerAddress)
Dim paramList As New List(Of Microsoft.Reporting.WinForms.ReportParameter)
paramList.Add(New Microsoft.Reporting.WinForms.ReportParameter("param1", t.Value))
paramList.Add(New Microsoft.Reporting.WinForms.ReportParameter("CurrentDate", Date.Now))
Dim reportsDirectory As String = "AppName.Reports"
Dim reportPath As String = String.Format("/{0}/{1}", reportsDirectory, reportName)
rview.ServerReport.ReportPath = reportPath
rview.ServerReport.SetParameters(paramList) 'This is where I get the exception
Dim mimeType, encoding, extension, deviceInfo As String
Dim streamids As String()
Dim warnings As Microsoft.Reporting.WinForms.Warning()
deviceInfo = "<DeviceInfo><SimplePageHeaders>True</SimplePageHeaders></DeviceInfo>"
Dim format As String = "PDF"
Dim bytes As Byte() = rview.ServerReport.Render(format, deviceInfo, mimeType, encoding, extension, streamids, warnings)
При отладке этого кода я вижу, что он выдает MissingEndpointException
, где я делаю SetParameters(paramList)
с таким сообщением:
Попытка подключения к отчету
сервер не удалось. Проверьте ваше соединение
информация и что сервер отчетов
это совместимая версия.
Глядя в файл журнала сервера, я вижу это:
щ ReportManager_0-8 878 06/02 / 2010-11:! 34: 36 ::
Необработанное исключение:
System.Web.HttpException: файл
'/Reports_client/ReportExecution2005.asmx'
не существует. в
System.Web.UI.Util.CheckVirtualFileExists (VirtualPath
virtualPath) в
System.Web.Compilation.BuildManager.GetVPathBuildResultInternal (VirtualPath
virtualPath, логическое значение noBuild, логическое значение
allowCrossApp, Boolean
allowBuildInPrecompile) в
System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert (HttpContext
контекст, VirtualPath virtualPath,
Boolean noBuild, Boolean
allowCrossApp, Boolean
allowBuildInPrecompile) в
System.Web.Compilation.BuildManager.GetVPathBuildResult (HttpContext
контекст, VirtualPath virtualPath,
Boolean noBuild, Boolean
allowCrossApp, Boolean
allowBuildInPrecompile) в
System.Web.Compilation.BuildManager.GetVPathBuildResult (HttpContext
контекст, VirtualPath virtualPath)
в
System.Web.UI.WebServiceParser.GetCompiledType (String
inputFile, контекст HttpContext) в
System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler (HttpContext
контекст, строковый глагол, строковый URL,
Строка filePath) в
System.Web.HttpApplication.MapHttpHandler (HttpContext
context, String requestType,
Путь к VirtualPath, строка
pathTranslated, Boolean useAppConfig)
в
System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute ()
в
System.Web.HttpApplication.ExecuteStep (IExecutionStep
шаг, логическое и завершено синхронно)
Я не нашел ни одного ресурса в сети, который бы соответствовал моей проблеме. У кого-нибудь есть ключ ? Я могу просматривать отчеты из веб-приложения, поэтому я уверен, что сервер работает.
Заранее спасибо.