2015-02-12 3 views
0

За последний месяц я разработал приложение WebForm на C# с VS2013. Он отлично работает, когда я его отлаживаю и почти полностью опубликовал на моем сервере iis 7.5 в пуле приложений, используя .NET Framework v4.030319. Проблема заключается в том, что контроль просмотра отчетов не работает, так же, как этот блог:ReportViewer не работает на веб-сервере

http://blogs.msdn.com/b/webtopics/archive/2009/02/10/report-viewer-toolbar-does-not-render-properly-on-iis-7-0.aspx

или 49 других блогов, которые я прочитал за последние 4 дня ... Я попытался каждое решение, предложенное и ни из них работали. Я на 100% уверен, что это не из-за моего отчета, потому что для тестирования я создал базовый отчет (просто текстовое поле, без параметров, без источника данных) и новый проект с одной страницей, загружающей этот отчет, и у меня такая же проблема.

Вот заинтересованный код в файле web.config:

<system.web> 
    <httpHandlers> 
    <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" validate="false" /> 
    </httpHandlers> 
    <authentication mode="None" /> 
    <compilation debug="true" targetFramework="4.5"> 
    <assemblies> 
     <add assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" /> 
     <add assembly="Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" /> 
     <add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
    </assemblies> 
    <buildProviders> 
     <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" /> 
    </buildProviders> 
    </compilation> 
    <httpRuntime targetFramework="4.5" /> 
    [...] 
</system.web> 
<system.webServer> 
    <modules> 
    <remove name="FormsAuthentication" /> 
    </modules> 
    <validation validateIntegratedModeConfiguration="false" /> 
    <handlers> 
    <add name="ReportViewerWebControl" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" /> 
    </handlers> 
</system.webServer> 

И да, я отображение также создается на сервере. Может кто-нибудь помочь мне решить эту проблему. Я немного растерян.

+0

ли бассейн набор IIS, что ваше приложение находится под сконфигурировано для работы в режиме «интегрированный»? –

+0

Да, он настроен на интеграцию, а идентификатор - администратор. –

ответ

3

я, наконец, решить ее, установив следующую процедуру на сервере:

  • dotNetFx45
  • ReportViewer 2010 Redistributable
  • Microsoft Microsoft System CLR Типы для SQL Server 2012
  • ReportViewer 2012 Продолжительность

и перезагрузите его, даже если он не задан. После этого отчеты отображались правильно. Тот факт, что я не получал сообщений об ошибках, не очень помог. Кроме того, сервер находится на prod, поэтому я не мог перезапустить его каждый раз, когда захочу. Во всяком случае, сейчас он работает, и это единственное, что имеет значение. Благодарю.

+0

Переустановка типов CLR и исправление пользовательской ошибки javascript разрешили это для меня. –

0

Для меня эти 2 приведены ниже и не рестарта сервера работали ReportViewer 2010 Redistributable ReportViewer 2012 Продолжительность Благодаря

Смежные вопросы