Проблема с StiMvcViewer
Проблема с StiMvcViewer
Не могу запустить проект из каталога Samples.
Продукт: Stimulsoft Reports.Web, версия 2014.3
C:\Program Files\Stimulsoft Reports.Web 2014.3 Trial\Samples\ASP.NET MVC\HTML\Using Viewer, Razor
Взял чистую машину, установил на нее Visual Studio 2013 SP2 Ultimate.
Открыл проект, получил информацию о конвертации проекта Для начала, проект не запускается с ASP.NET MVC 4, несмотря на новость
http://www.stimulsoft.com/ru/news/chang ... quirements
Проект не совместим с ASP.NET MVC 4
Пришлось дополнительно установить ASP.NET MVC 3 отсюда
http://www.microsoft.com/en-us/download ... px?id=1491
При открытии проекта в Visual Studio получаем предупреждение: Подскажите, зачем эта демка требует какой-то там БД? Ведь все происходит в коде, а у меня нет SQL Server Express, и не предвидится.
Далее, проект компилируется и запускается, после чего выдает только лишь сообщение об ошибке:
System.ArgumentNullException was unhandled by user code
HResult=-2147467261
Message=Value cannot be null.
Parameter name: key
Source=mscorlib
ParamName=key
StackTrace:
at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
at Microsoft.VisualStudio.Web.PageInspector.Runtime.WebForms.SelectionMappingRenderTraceListener.GetLiteralTraceData(LiteralControl literal, TraceData& data)
at Microsoft.VisualStudio.Web.PageInspector.Runtime.WebForms.SelectionMappingRenderTraceListener.GetTraceData(Object renderedObject)
at Microsoft.VisualStudio.Web.PageInspector.Runtime.WebForms.SelectionMappingRenderTraceListener.BeginRendering(TextWriter writer, Object renderedObject)
at System.Web.UI.RenderTraceListener.RenderTraceListenerList.BeginRendering(TextWriter writer, Object renderedObject)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
at Stimulsoft.Report.Mvc.StiMvcViewer.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at Stimulsoft.Report.Mvc.StiMvcHelper.StiMvcViewer(String ID, StiMvcViewerOptions options)
at Stimulsoft.Report.Mvc.StiMvcHelper.StiMvcViewer(StiMvcViewerOptions options)
at ASP._Page_Views_Home_Index_cshtml.Execute() in c:\Using Viewer, Razor\Using Viewer, Razor\Views\Home\Index.cshtml:line 29
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.StartPage.RunPage()
at System.Web.WebPages.StartPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
InnerException:
Т.е. ничего не рисуется, сразу получаем это сообщение.
Причем до ближайшего ребилда проект переходит в такое состояние
Продукт: Stimulsoft Reports.Web, версия 2014.3
C:\Program Files\Stimulsoft Reports.Web 2014.3 Trial\Samples\ASP.NET MVC\HTML\Using Viewer, Razor
Взял чистую машину, установил на нее Visual Studio 2013 SP2 Ultimate.
Открыл проект, получил информацию о конвертации проекта Для начала, проект не запускается с ASP.NET MVC 4, несмотря на новость
http://www.stimulsoft.com/ru/news/chang ... quirements
Проект не совместим с ASP.NET MVC 4
Пришлось дополнительно установить ASP.NET MVC 3 отсюда
http://www.microsoft.com/en-us/download ... px?id=1491
При открытии проекта в Visual Studio получаем предупреждение: Подскажите, зачем эта демка требует какой-то там БД? Ведь все происходит в коде, а у меня нет SQL Server Express, и не предвидится.
Далее, проект компилируется и запускается, после чего выдает только лишь сообщение об ошибке:
System.ArgumentNullException was unhandled by user code
HResult=-2147467261
Message=Value cannot be null.
Parameter name: key
Source=mscorlib
ParamName=key
StackTrace:
at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
at Microsoft.VisualStudio.Web.PageInspector.Runtime.WebForms.SelectionMappingRenderTraceListener.GetLiteralTraceData(LiteralControl literal, TraceData& data)
at Microsoft.VisualStudio.Web.PageInspector.Runtime.WebForms.SelectionMappingRenderTraceListener.GetTraceData(Object renderedObject)
at Microsoft.VisualStudio.Web.PageInspector.Runtime.WebForms.SelectionMappingRenderTraceListener.BeginRendering(TextWriter writer, Object renderedObject)
at System.Web.UI.RenderTraceListener.RenderTraceListenerList.BeginRendering(TextWriter writer, Object renderedObject)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
at Stimulsoft.Report.Mvc.StiMvcViewer.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at Stimulsoft.Report.Mvc.StiMvcHelper.StiMvcViewer(String ID, StiMvcViewerOptions options)
at Stimulsoft.Report.Mvc.StiMvcHelper.StiMvcViewer(StiMvcViewerOptions options)
at ASP._Page_Views_Home_Index_cshtml.Execute() in c:\Using Viewer, Razor\Using Viewer, Razor\Views\Home\Index.cshtml:line 29
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.StartPage.RunPage()
at System.Web.WebPages.StartPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
InnerException:
Т.е. ничего не рисуется, сразу получаем это сообщение.
Причем до ближайшего ребилда проект переходит в такое состояние
Re: Проблема с StiMvcViewer
А вообще, попытка обратиться к данной демке вызвана тем, что попытка встроить компонент StiMvcViewer в свое приложение таким вот образом:
приводит к тому, что получающаяся html страничка генерит запросы:
Страничка находится по адресу http://localhost:20242/StiView/ShowReport. Т.е. первая часть адреса до какой-то степени понятна, но что за зверь" ?mvcviewer_resource=scripts"? У меня в приложении такого нет.
Код: Выделить всё
@using Stimulsoft.Report.Mvc;
@{
Layout = null;
}
<!doctype html>
<html>
<head>
<title>Просмотр отчета</title>
</head>
<body>
<h2>Некое сообщение</h2>
<br />
@Html.Stimulsoft().StiMvcViewer(
"MvcViewer",
new StiMvcViewerOptions
{
ActionGetReportSnapshot = "GetReportSnapshot"
, Localization = "~/Views/Shared/Reporting/Localization/ru.xml"
})
</body>
</html>
Код: Выделить всё
http://localhost:20242/StiView/?mvcviewer_resource=scripts
Re: Проблема с StiMvcViewer
Здравствуйте Дмитрий,
Данный запрос загружает скрипты вьювера. Для корректной работы необходимо определить два действия:
ActionGetReportSnapshot
ActionViewerEvent
У вас определено только первое действие.
Спасибо.
Данный запрос загружает скрипты вьювера. Для корректной работы необходимо определить два действия:
ActionGetReportSnapshot
ActionViewerEvent
У вас определено только первое действие.
Спасибо.
Re: Проблема с StiMvcViewer
Спасибо, и правда стало чуть лучше.
Теперь картинки не загружаются, тоже куча запросов по левым адресам
Теперь картинки не загружаются, тоже куча запросов по левым адресам
Код: Выделить всё
@using Stimulsoft.Report.Mvc;
@{
Layout = null;
}
<!doctype html>
<html>
<head>
<title>Просмотр отчета</title>
</head>
<body>
<h2>Некое сообщение</h2>
<br />
@Html.Stimulsoft().StiMvcViewer(
"MvcViewer",
new StiMvcViewerOptions
{
ActionGetReportSnapshot = "GetReportSnapshot"
, ActionViewerEvent = "ViewerEvent"
, Localization = "~/Views/Shared/Reporting/Localization/ru.xml"
})
</body>
</html>
Код: Выделить всё
public ActionResult ShowReport()
{
return View("~/Views/Shared/Reporting/StiMvcViewer.cshtml");
}
public ActionResult GetReportSnapshot()
{
return StiMvcViewer.GetReportSnapshotResult(HttpContext, new StiReport());
}
public ActionResult ViewerEvent()
{
return StiMvcViewer.ViewerEventResult(HttpContext);
}
Re: Проблема с StiMvcViewer
Ура!
Нашел вот такую тему:
http://forumru.stimulsoft.com/viewtopic.php?f=13&t=4109
обновил библиотеки Стимулсофт, и все заработало как надо, вопрос с неработоспособностью моего кода снят.
Правда остается все же ряд вопросов.
1) StiMvcViewer требует MVC 4 или MVC 3?
2) Картинки для StiMvcViewer все еще запрашиваются отдельными HTTP запросами, вроде это было обещано сделать одним HTTP запросом?
3) Эта конструкция:
сейчас выдает warning, что ActionGetReportSnapshot устарел, хотелось бы видеть пример с новым синтаксисом
4) Внезапно StiMvcMobileViewer стал пустым классом, например, у него нет метода StiMvcMobileViewer.ViewerEventResult(HttpContext);
Нашел вот такую тему:
http://forumru.stimulsoft.com/viewtopic.php?f=13&t=4109
обновил библиотеки Стимулсофт, и все заработало как надо, вопрос с неработоспособностью моего кода снят.
Правда остается все же ряд вопросов.
1) StiMvcViewer требует MVC 4 или MVC 3?
2) Картинки для StiMvcViewer все еще запрашиваются отдельными HTTP запросами, вроде это было обещано сделать одним HTTP запросом?
3) Эта конструкция:
Код: Выделить всё
new StiMvcViewerOptions
{
ActionGetReportSnapshot = "GetReportSnapshot"
, ActionViewerEvent = "ViewerEvent"
})
4) Внезапно StiMvcMobileViewer стал пустым классом, например, у него нет метода StiMvcMobileViewer.ViewerEventResult(HttpContext);
Re: Проблема с StiMvcViewer
Здравствуйте Дмитрий,
> 1) StiMvcViewer требует MVC 4 или MVC 3?
Достаточно MVC 2 или выше, но с релиза 2014.2 требуется .NET Framework 4 как минимально необходимый для всех наших компонентов.
> 2) Картинки для StiMvcViewer все еще запрашиваются отдельными HTTP запросами, вроде это было обещано сделать одним HTTP запросом?
В последнем пререлиз билде 2014.3.18 все изображения должны загружаться одним запросом. Пожалуйста, укажите что именно загружается отдельными запросами?
> 3) Эта конструкция сейчас выдает warning, что ActionGetReportSnapshot устарел, хотелось бы видеть пример с новым синтаксисом
Новая документация будет доступна в новом релизе 2015.1, который уже практически готов. Идет финальное тестирование.
Все опции были сгруппированы для удобства использования. Вы можете использовать такую конструкцию:
> 4) Внезапно StiMvcMobileViewer стал пустым классом, например, у него нет метода StiMvcMobileViewer.ViewerEventResult(HttpContext);
Пожалуйста укажите версию билда, который вы тестировали. Это ошибка, данный компонент и его методы должны быть помечены как устаревшие. Обновлённый MvcViewer теперь в полной мере поддерживает Touch интерфейс, необходимость в MvcMobileViewer отпадает
Спасибо.
> 1) StiMvcViewer требует MVC 4 или MVC 3?
Достаточно MVC 2 или выше, но с релиза 2014.2 требуется .NET Framework 4 как минимально необходимый для всех наших компонентов.
> 2) Картинки для StiMvcViewer все еще запрашиваются отдельными HTTP запросами, вроде это было обещано сделать одним HTTP запросом?
В последнем пререлиз билде 2014.3.18 все изображения должны загружаться одним запросом. Пожалуйста, укажите что именно загружается отдельными запросами?
> 3) Эта конструкция сейчас выдает warning, что ActionGetReportSnapshot устарел, хотелось бы видеть пример с новым синтаксисом
Новая документация будет доступна в новом релизе 2015.1, который уже практически готов. Идет финальное тестирование.
Все опции были сгруппированы для удобства использования. Вы можете использовать такую конструкцию:
Код: Выделить всё
new StiMvcViewerOptions
{
Actions =
{
GetReportSnapshot = "GetReportSnapshot",
ViewerEvent = "ViewerEvent"
}
})
Пожалуйста укажите версию билда, который вы тестировали. Это ошибка, данный компонент и его методы должны быть помечены как устаревшие. Обновлённый MvcViewer теперь в полной мере поддерживает Touch интерфейс, необходимость в MvcMobileViewer отпадает
Спасибо.
Re: Проблема с StiMvcViewer
Видимо, у меня на машине есть некая проблема с тем, что версия 2014.3 официальная поставила .dll-ки в GAC, а последнюю версию библиотек стимулсофт, 2014.3.18, я бросил прямо в проект.
И потому 2) после нескольких ребилдов не воспроизводится, т.е. один HTTP запрос делается, что гуд.
4) Видимо из той же примерно серии, метод StiMvcMobileViewer.ViewerEventResult(HttpContext); появился, но @obsolete не вижу.
Да в целом и ладно, когда выйдет релиз, все установится в GAC и проблемы пропадут.
Еще раз спасибо за ответы.
И потому 2) после нескольких ребилдов не воспроизводится, т.е. один HTTP запрос делается, что гуд.
4) Видимо из той же примерно серии, метод StiMvcMobileViewer.ViewerEventResult(HttpContext); появился, но @obsolete не вижу.
Да в целом и ладно, когда выйдет релиз, все установится в GAC и проблемы пропадут.
Еще раз спасибо за ответы.
Re: Проблема с StiMvcViewer
Здравствуйте Дмитрий,
Всегда рады помочь.
Надеемся, обновлённый вьювер отчетов подойдёт для ваших проектов!
Всегда рады помочь.
Надеемся, обновлённый вьювер отчетов подойдёт для ваших проектов!
Re: Проблема с StiMvcViewer
Все-таки выскажу мысль вслух, по поводу моей изначальной ошибки, что я забыл указать действие "ActionViewerEvent".
Мне кажется, если компонент неправильно сконфигурирован, он должен сообщать об этом явно.
Компонент StiMvcViewer , как мне кажется, не функционален без свойства "ActionViewerEvent".
Если бы он явно выбросил мне исключение "не могу работать, задайте св-во ActionViewerEvent", то я бы не беспокоил Вас.
Уверен, я такой не один
Мне кажется, если компонент неправильно сконфигурирован, он должен сообщать об этом явно.
Компонент StiMvcViewer , как мне кажется, не функционален без свойства "ActionViewerEvent".
Если бы он явно выбросил мне исключение "не могу работать, задайте св-во ActionViewerEvent", то я бы не беспокоил Вас.
Уверен, я такой не один
Re: Проблема с StiMvcViewer
Здравствуйте Дмитрий,
Ваше пожелание отправлено команде разработчиков.
Спасибо.
Ваше пожелание отправлено команде разработчиков.
Спасибо.