Собрал тестовое приложение под 2008 студией на asp.net mvc (File-New-Project-Web-Asp.net mvc web asp).
Для контроллера HomeController добавил метод Report
Код: Выделить всё
public void Report()
{
DataSet data = new DataSet();
String rep =
@"C:\Program Files\Stimulsoft Reports.Net 2008.2\Bin\Reports\Invoice.mrt";
data.ReadXml(@"C:\Program Files\Stimulsoft Reports.Net 2008.2\Bin\Data\Demo.xml");
data.ReadXmlSchema(@"C:\Program Files\Stimulsoft Reports.Net 2008.2\Bin\Data\Demo.xsd");
StiReport report = new StiReport();
report.RegData("Demo", data);
report.Load(rep);
report.Render(false);
report.ExportDocument(StiExportFormat.Html, Response.OutputStream);
}
Т.е. для работы необходимо создать папку home в корне web-проджекта, что не особо хорошо.Ошибка сервера в приложении '/'.
Не удалось найти часть пути "D:\project\novag\traiding\assembla\WebReportTest\Home".
Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.
Сведения об исключении: System.IO.DirectoryNotFoundException: Не удалось найти часть пути "D:\project\novag\traiding\assembla\WebReportTest\Home".
Ошибка источника:
Строка 39:
Строка 40: report.Load(rep);
Строка 41: report.Render(false);
Строка 42:
Строка 43: report.ExportDocument(StiExportFormat.Html, Response.OutputStream);
Исходный файл: D:\project\novag\traiding\assembla\WebReportTest\Controllers\HomeController.cs Строка: 41
Трассировка стека:
[DirectoryNotFoundException: Не удалось найти часть пути "D:\project\novag\traiding\assembla\WebReportTest\Home".]
System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +492
System.IO.Directory.SetCurrentDirectory(String path) +163
Stimulsoft.Report.StiReport.Compile(String path, Stream stream, StiOutputType outputType, Boolean autoCreate, Object standaloneReportType) +2058
Stimulsoft.Report.StiReport.Compile(String path, Stream stream, StiOutputType outputType, Boolean autoCreate) +44
Stimulsoft.Report.StiReport.Compile(String path, StiOutputType outputType, Boolean autoCreate) +40
Stimulsoft.Report.StiReport.Compile(String path, StiOutputType outputType) +34
Stimulsoft.Report.StiReport.Compile(StiOutputType outputType) +33
Stimulsoft.Report.StiReport.Compile() +25
Stimulsoft.Report.Engine.StiReportV2Builder.RenderSingleReport(StiReport masterReport, StiRenderState renderState) +1000
Stimulsoft.Report.StiReport.Render(StiRenderState renderState) +522
Stimulsoft.Report.StiReport.Render(Boolean showProgress, Int32 fromPage, Int32 toPage) +62
Stimulsoft.Report.StiReport.Render(Boolean showProgress) +38
WebReportTest.Controllers.HomeController.Report() in D:\project\novag\traiding\assembla\WebReportTest\Controllers\HomeController.cs:41
lambda_method(ExecutionScope , ControllerBase , Object[] ) +61
System.Web.Mvc.c__DisplayClass1.b__0(ControllerBase controller, Object[] parameters) +17
System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +17
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +282
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +23
System.Web.Mvc.c__DisplayClassa.b__7() +112
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +301
System.Web.Mvc.c__DisplayClassc.b__9() +19
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +214
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +311
System.Web.Mvc.Controller.ExecuteCore() +179
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +20
System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +4
System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext) +134
System.Web.Mvc.MvcHandler.ProcessRequest(HttpContext httpContext) +38
System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext httpContext) +4
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +358
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64
Информация о версии: Платформа Microsoft .NET Framework, версия:2.0.50727.1433; ASP.NET, версия:2.0.50727.1433
Соответственно - для чего репортам эта папка, какие права на нее нужны и можно ли обойтись без нее?
Сорсы приложил в аттаче к посту.