Не работает фунция печати, сломано Demo

Обсуждение Stimulsoft Reports.WEB
DmitryRu
Сообщения: 163
Зарегистрирован: 19 май 2014, 10:40

Не работает фунция печати, сломано Demo

Сообщение DmitryRu »

Такое впечателение, что сломались demo-примеры
Конкретно, проект ASP.NET MVC\HTML\Using Viewer, Razor
У меня Stimulsoft Reports.Web 2015.1, вручную обновленный до 2015.1.4

Во первых, обсуждаемый проект имеет зависимость от System.Web.Mvc v.3.0.0.1.
Почему-то не добавлена в файл packages.config строка:

Код: Выделить всё

  <package id="Microsoft.AspNet.Mvc" version="3.0.50813.1" targetFramework="net40" />
Я выполнил искомую команду руками.
Demo все равно не заработало, на запрос скриптов через ViewerEvent в браузер прилетает строка "Stimulsoft.Report.Mvc.StiFileResult"
Проблема, судя по всему, в том, что данный файл зависит от C:\Windows\assembly\GAC_MSIL\System.Web.Mvc\2.0.0.0, а проект зависит от System.Web.Mvc v.3.0.0.1
Т.е. надо изменить в Web.Config:

Код: Выделить всё

      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="2.0.0.0-3.0.0.1" newVersion="3.0.0.1" />
      </dependentAssembly>
Было

Код: Выделить всё

        <bindingRedirect oldVersion="3.0.0.0-3.0.0.1" newVersion="3.0.0.1" />
Даже после этого демка все равно не работает ни FireFox ни в Chrome.

Мне вообще-то надо посмотреть, почему у меня не работает ф-ция печати.
Что в хроме, что в файрфоксе при попытке сказать "печатать с просмотром" просто открывается пустое новое окно и все.
Мой CSHTML:

Код: Выделить всё

@using Stimulsoft.Report.Mvc;
@{
    Layout = null;
}
<!doctype html>

<html>
<head>
    <title>Отчет</title>
</head>

<body>
    @Html.Stimulsoft().StiMvcViewer(
    "MvcViewer",
        new StiMvcViewerOptions
    {
         Actions =
        {
             GetReportSnapshot = "GetReportSnapshot",
             ViewerEvent = "ViewerEvent",
        }
        , Localization = "~/Views/Shared/Reporting/Localization/ru.xml"
        , Toolbar =
         {
             ShowDesignButton = false,
             ShowParametersButton = false
         }
         , Server =
         {
             RequestTimeout = 30,
             UseRelativeUrls = true,
             PassQueryParametersForResources = false
         }
    })
</body>
</html>
Причем на web.stimulsoft.com, работает, но там, судя по всем, не обновились до 2015.1.4
Последний раз редактировалось DmitryRu 21 май 2015, 09:24, всего редактировалось 1 раз.
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Сломано Demo

Сообщение HighAley »

Здравствуйте, Дмитрий.

Мы привели версии System.Web.Mvc к единому виду.
Какая ошибка у вас возникает? Для того, чтобы пример заработал, надо прoписать используемые версии сборок.

Спасибо.
DmitryRu
Сообщения: 163
Зарегистрирован: 19 май 2014, 10:40

Re: Сломано Demo

Сообщение DmitryRu »

Я не понимаю, что означает фраза "чтобы пример заработал, надо прoписать используемые версии сборок."
В web.config я дописал:

Код: Выделить всё

    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="Stimulsoft.Base, Version=2015.1.4.0, Culture=neutral, PublicKeyToken=ebe6666cba19647a"/>
        <add assembly="Stimulsoft.Report, Version=2015.1.4.0, Culture=neutral, PublicKeyToken=ebe6666cba19647a"/>
        <add assembly="Stimulsoft.Report.Mvc, Version=2015.1.4.0, Culture=neutral, PublicKeyToken=ebe6666cba19647a"/>
      </assemblies>
    </compilation>
Проблема с демой в том что

1) На чистой Windows 7, с установленным MVC 3 и 4 она просто не компилируется, потому что вы переключили ее на MVC 3.0.0.1. Вы могли бы облегчить пользователям жизнь, прописав этот пакет в NuGet, но почему-то это не сделано.

2) После компиляции, демо все равно не работает, потому что bindingRedirect прописан не корректно

3) После того как прописал bindingRedirect, вот, например, что пишет Chrome
chrome.png
chrome.png (137.11 КБ) 4784 просмотра
Т.е. Demo не работает.


Повторюсь, меня демо интересует потому, что в моем проекте я не могу распечатать отчет.
В хроме и в файрфоксе при попытке сказать "печатать с просмотром" просто открывается пустое новое окно и все.
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Сломано Demo

Сообщение HighAley »

Здравствуйте, Дмитрий.

NuGet мы не используем, так как наших сборок там нету. Мы поддерживаем MVC 2.0 и выше. Предполагается, что наши компоненты будут использоваться в MVC проектах конкретной версии, поэтому мы и не привязываемся к какой-то конкретной версии в NuGet.

Строка bindingRedirect должна быть следующей, чтобы всё работало.
<bindingRedirect oldVersion="2.0.0.0-3.0.0.0" newVersion="3.0.0.1" />

Если вы напишите более подробно о своей проблеме с печатью, тогда мы сможем вам помочь.

Спасибо.
DmitryRu
Сообщения: 163
Зарегистрирован: 19 май 2014, 10:40

Re: Сломано Demo

Сообщение DmitryRu »

Про Nuget я говорю потому, что в составе demo-проекта Вы поставляете файл packages.config, который, насколько я понимаю, предназначен для Nuget.
Про то, что компоненты не привязаны к версии MVC я понимаю, просто demo пример имеет в файле UsingViewer.csproj такую строку:

Код: Выделить всё

    <Reference Include="System.Web.Mvc, Version=3.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
потому этот пример привязан к конкретной, и нестандартной, версии MVC, и можно было бы облегчить жизнь клиенту прописав в файле packages.config строку для автоматической загрузки этой версии MVC

Что касается моих проблем.
Файл .cshtml я привел выше. С таким файлом не работает функция печати из Вашего тулбара.
  • В PDF - ни в каком браузере. Просто ничего не происходит - ни на экране, ни в консоли разработчика
  • С предпросмотром - работает только в IE. В остальных браузерах открывается новое пустое окно браузера с адресом about:blank
  • Без предпросмотра вроде работает
ОС Windows 7, 8.
Браузеры: Firefox 38.0.1, Chrome 42.0.2311.152 m, IE 11.0.9600.17280
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Не работает фунция печати, сломано Demo

Сообщение HighAley »

Здравствуйте.

К сожалению, нам сложно ответить на ваш вопрос по проблеме печати.
Не могли бы вы прислать нам простой проект, который воспроизводит проблему.

Спасибо.
DmitryRu
Сообщения: 163
Зарегистрирован: 19 май 2014, 10:40

Re: Не работает фунция печати, сломано Demo

Сообщение DmitryRu »

После очередного сброса проекта Demo в его начальное состояние, Demo-проект заработал, почему не работал ранее, не пойму. Вероятно, проблема в попытках студии правильно настроить bindingredirect и моих попытках помочь студии.
Другими словами, для работы Demo надо корректно прописать bindingredirect и путь до скачанной заранее System.Web.Mvc, Version=3.0.0.1, тогда без особых проблем заработает.

С работающим Demo быстро выяснилась причина, почему не работает "Печать с просмотром", это строка в .cshtml:

Код: Выделить всё

, Server =
         {
             UseRelativeUrls = true
         }
Если UseRelativeUrls = false, то "Печать с просмотром" работает корректно.
Но я использую UseRelativeUrls = true, чтобы убрать другую ошибку в библиотеке Stimulsoft, подробнее здесь, в первом сообщении:
http://forumru.stimulsoft.com/viewtopic.php?f=13&t=4192

С экпортом в pdf проблема другая: URL для построения отчета в моем случае является GET запросом с параметрами, вида:
http://172.19.22.199/MC/StiView/GetRepo ... ormat=none
Оказывается, при экспорте в pdf формируется URL вида:
[url]ttp://172.19.22.199/MC/StiView/ViewerEvent/ReportXX?Context=691376&PointIDs=3%3b1177&ID_TimeSchema=null&StartDT=2015-05-01T00%3a00%3a00&format=none?mvcviewer_action=print&mvcviewer_parameters=eyJ2aWV3ZXJJZCI6Ik12Y1ZpZXdlciIsInJvdXRlcyI6eyJhY3Rpb24iOiJTaG93UmVwb3J0IiwiY29udHJvbGxlciI6IlN0aVZpZXciLCJpZCI6IlJlcG9ydENJIn0sImZvcm1WYWx1ZXMiOnt9LCJyZXBvcnRHdWlkIjoiMjZhMDZiN2U0NGQxNGMzNTkxODNhMDc4NGNkYjQ4ZmQiLCJwYXJhbXNHdWlkIjpudWxsLCJzZXJ2ZXJDYWNoZU1vZGUiOiJPYmplY3RDYWNoZSIsInNlcnZlckNhY2hlVGltZW91dCI6MjAsInNlcnZlckNhY2hlSXRlbVByaW9yaXR5IjoiRGVmYXVsdCIsInBhZ2VOdW1iZXIiOjAsInpvb20iOjEwMCwidmlld01vZGUiOiJPbmVQYWdlIiwic2hvd0Jvb2ttYXJrcyI6dHJ1ZSwib3BlbkxpbmtzVGFyZ2V0IjoiX3NlbGYiLCJwcmludEFjdGlvbiI6IlByaW50UGRmIiwiYm9va21hcmtzUHJpbnQiOmZhbHNlfQ==[/url]
Обратите внимание на два знака "?" в URL.

На мой взгляд, необходимость в выкладывании моего проекта отпала?
Для воспроизведения проблемы "Печать с просмотром" можете в Вашем демо попробовать опцию UseRelativeUrls = true
Для воспроизведения проблемы с "печатью в pdf" можете вызвать Вашу демо с URL'ом вида:

http://localhost:1277/Home?qq=bb
Аватара пользователя
Vladimir
Сообщения: 415
Зарегистрирован: 06 авг 2008, 09:48
Откуда: Earth

Re: Не работает фунция печати, сломано Demo

Сообщение Vladimir »

Здравствуйте Дмитрий,

Ошибки с печатью и PDF исправлены. Обновление будет доступно в следующем пререлиз билде.

Спасибо за подробное описание проблем.
DmitryRu
Сообщения: 163
Зарегистрирован: 19 май 2014, 10:40

Re: Не работает фунция печати, сломано Demo

Сообщение DmitryRu »

Снова не работает печать в pdf.
В хроме "43.0.2357.134 m" и IE 11
Захожу по адресу:
http://web.stimulsoft.com/View/Reports/SimpleList
и не могу напечатать в pdf.
Хром, например, при попытке печатать пишет в консоль
Resource interpreted as Document but transferred with MIME type application/pdf: "http://web.stimulsoft.com/View/ViewerEv ... I6ZmFsc2V9".
И ничего не происходит более.
IE тоже ругается, но более затейливо.
DmitryRu
Сообщения: 163
Зарегистрирован: 19 май 2014, 10:40

Re: Не работает фунция печати, сломано Demo

Сообщение DmitryRu »

Пардон, отбой.
Оказывается, на компьютере, с которого проверяли, в хроме были по умолчанию отключены плагины.
Это делается здесь
chrome://settings/contentExceptions#plugins
А в IE не работало потому, что там стоит FoxIt,а не Acrobat Reader.
И ругался IE так:
---------------------------
Foxit Reader
---------------------------
In safe reading mode, Foxit Reader does not allow to run JavaScript Function
that may cause potential security issues.
If you want to enable this function, please check the Trust Manager preferences
to allow this operation.
---------------------------
OK
---------------------------
Ответить