Ustawienia pliku Web.config dla Podglądu raportów

Jeśli używasz ReportViewer kontrolki serwera sieci Web, można ustawić ASP.NET w pliku Web.config aplikacji ustawienia można skonfigurować ReportViewer w czasie wykonywania. W tym temacie opisano ustawienia aplikacji pliku Web.config użyte do nawiązania połączenia z serwerem zdalnym raportów, strumieni tymczasowe przechowywanie i podaj niestandardowych ciągów w celu sterowania interfejsu użytkownika. Umożliwia także wskazówki dotyczące sposobu używania <sessionState> i <machineKey> ustawienia dla ReportViewer aplikacji, które są uruchomione w wdrożenia farmy sieci Web i opisano sposób, w jaki <httpHandlers> sekcję pliku Web.config definiuje ustawienia używane przez program obsługi HTTP ReportViewer formant serwera sieci Web.

Konfigurowanie elementów < Ustawienia > formantów ReportViewer

Konfigurowanie ustawień aplikacji niestandardowych dla ReportViewer kontrolki serwera sieci Web, możesz dodać następujące klucze, aby <appSettings> sekcji w pliku Web.config aplikacji. Wartość tych kluczy jest nazwy w pełni kwalifikowaną klasy, która implementuje interfejs określonych.

Key

Używane przez

ReportViewerServerConnection

Ten klucz określa klasę, która implementuje IReportServerConnection interfejsu. Ten interfejs zapewnia informacje o połączeniu serwera raportów w przypadku stanu sesji jest wyłączony lub jeśli nie chcesz przechowywać informacje o połączeniu w sesji programu ASP.NET.

Można również określić klasę, która implementuje IReportServerConnection2 interfejs, który można określić pliki cookie i niestandardowe nagłówki.

ReportViewerTemporaryStorage

Ten klucz określa klasę, która implementuje ITemporaryStorage interfejsu. Ten interfejs jest używany do przechowywania tymczasowego strumieni, które są wysyłane przez serwer raportów, a nie przechowywać je w pamięci, zwiększając w ten sposób skalowalność aplikacji.

ReportViewerMessages

Ten klucz określa klasę, która implementuje IReportViewerMessages interfejsu. Ten interfejs jest używany w celu zapewnienia komunikaty interfejsu użytkownika.

W Visual Studio 2010 i nowszych wersji nowy interfejs [T:Microsoft.Reporting.WebForms.]IReportViewerMessages3 zostanie dodany do formant ReportViewer. Używać wszystkich użytkowników interfejsu wiadomości ReportViewer zapewnia kontrolę, określ klasę, która implementuje IReportViewerMessages3 interfejs tutaj.

ms251661.collapse_all(pl-pl,VS.140).gifOkreślanie w pełni kwalifikowanej klasy

Wartość dla każdego klucza jest klasa, która implementuje interfejs i lokalizację zestawu zawierającego go. W programie ASP.NET istnieje kilka sposobów określenia klasy przy użyciu tej składni:

<add key="MyKeyName" value="MyNamespace.MyClass, Location" />

Jeśli klasa jest zaimplementowana w zestawie, lokalizacja można folder bin aplikacji lub globalnej pamięci podręcznej zestawów (GAC). W takim przypadku należy określić wartość klucza jako nazwę zestawu w pełni kwalifikowana, która zawiera wersji, kultury i wartości token klucza publicznego. Alternatywnie klasy jest zaimplementowana w pliku kodu źródłowego, w tym folderze APP_CODE aplikacji, ten folder jest podana lokalizacja należy określić.

Poniższe przykłady są prawidłowe sposobów określania w pełni kwalifikowanej klasy w pamięci podręcznej GAC folderze bin aplikacji lub w folderze APP_CODE:

<add key="ReportViewerServerConnection" value="MyNamespace.MyClass, MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken= 00000000000000000 "/>

--LUB--

<add key="ReportViewerServerConnection" value="MyNamespace.MyClass, MyAssembly"/>

--LUB--

<add key="ReportViewerServerConnection" value=" MyNamespace.MyClass, APP_CODE"/>

ms251661.collapse_all(pl-pl,VS.140).gifReportViewerServerConnection

W przypadku zastosowania IReportServerConnection lub IReportServerConnection2 interfejs w celu udostępnienia informacji o połączeniu serwera raportów, należy zdefiniować ReportViewerServerConnection klucza w pliku Web.config. Klucz określa z niestandardowej klasy, która implementuje IReportServerConnection i lokalizację pliku zawierającego go zestawu lub źródła.

Jeśli podasz klasy w ReportViewerServerConnection klucza, należy się upewnić, że nie należy ustawiać inne właściwości na ServerReport obiekt, który może powodować konflikt z nim. W szczególności nie należy ustawiać ServerReport.Timeout, ServerReport.ReportServerUrl, ServerReport.ReportServerCredentials, ServerReport.Cookies, or ServerReport.Headers właściwości.

Poniższy przykład przedstawia składnię ReportViewerServerConnection klucza. Określa on klasy implementującej IReportServerConnection2 w zestawie o nazwie MyAssembly znajdującej się w folderze Bin aplikacji:

<appSettings>
    <add key="ReportViewerServerConnection" value="MyNamespace.MyRVServerConnectionClass, MyAssembly"/>
</appSettings>

Aby wyświetlić przykładowy kod klasy, która implementuje IReportServerConnection, zobacz Określanie połączeń i poświadczeń dla kontrolki serwera sieci Web Podglądu raportów.

ms251661.collapse_all(pl-pl,VS.140).gifReportViewerTemporaryStorage

Należy ustawić ReportViewerTemporaryStorage klawisz, aby określić obiekt, który implementuje ITemporaryStorage interfejsu. Implementuje ten interfejs, jeśli mają być przechowywane tymczasowe strumieni, które są wysyłane przez serwer raportów, a nie przechowywać je w pamięci. Ponieważ każde żądanie musi zostać ukończony, przed rozpoczęciem nowego żądania, bieżącej strony są przechowywane w danym momencie. To ustawienie jest stosowane tylko dla serwera raportów. Poniższy przykład przedstawia składnię ReportViewerTemporaryStorage klucza:

<appSettings>
    <add key="ReportViewerTemporaryStorage" value="MyNamespace.MyTemporaryStorageClass, MyAssembly" />
</appSettings>

ms251661.collapse_all(pl-pl,VS.140).gifReportViewerMessages

Należy ustawić ReportViewerMessages klawisz, aby określić obiekt, który implementuje IReportViewerMessages, co jest w interfejs, który udostępnia niestandardowych ciągów w celu ReportViewer kontroli. Ten interfejs umożliwia obsługę ciągu lokalizacji języków innych niż te podaje domyślnie. Poniższy przykład przedstawia składnię ReportViewerMessages klucza.

<appSettings>
    <add key="ReportViewerMessages" value="MyNamespace.MyRVMessageClass, MyAssembly" />
</appSettings>

Konfigurowanie elementów < system.web > formantów ReportViewer

W pliku Web.config aplikacji, można zdefiniować ustawienia w <system.web> sekcję, aby określić zachowanie sesji raportu w czasie wykonywania. ReportViewer kontroli również korzysta z tej sekcji można zarejestrować ustawienia dla programu obsługi HTTP, który zapewnia kontrolę. Używane są następujące elementy: <sessionState>, <machineKey>, a <httpHandler>.

ms251661.collapse_all(pl-pl,VS.140).gif< sessionState >

Można użyć sessionState elementu w celu określenia, czy stan sesji jest przechowywany w procesie, wyłączony lub obsługiwane przez usługę stanu out-of-process ASP.NET.

InProcjest to ustawienie domyślne i można go używać, jeśli aplikacja działa na jednym komputerze. To ustawienie nie należy używać, jeśli uruchamianie raportów w aplikacji, która działa w farmie sieci Web.

Offmoże nie być używana, gdy ReportViewer kontroli przetwarzania pliku definicji (.rdlc) raport klienta w trybie lokalnym. Tryb lokalny wymaga stanu sesji. Jeśli używasz trybu zdalnego, można wyłączyć stanu sesji. Jeśli wyłączysz stanu sesji, należy określić ReportViewerServerConnection w <appSetting> elementu.

Można również użyć drugiej <sessionState> tryby: Custom, SQLServer, i StateServer.

ms251661.collapse_all(pl-pl,VS.140).gif< machineKey >

Jeśli jest wdrażana ReportViewer kontrolować w farmie sieci Web lub klastra, należy określić <machineKey> element, aby wymusić wszystkimi węzłami w farmie, aby użyć tej samej tożsamości procesu, zapewniając, że stan widoku zapisane z jednego komputera może zostać odczytany na dowolnym komputerze.

Uwaga

Ustawienie <machineKey> element do synchronizacji stanu widoku w farmie sieci Web jest najlepsze praktyki zalecenia zawarte w dokumentacji programu Microsoft .NET Framework (2.0 lub nowszej).Aby uzyskać więcej informacji na temat konfigurowania Wyświetl stan sprawdzania poprawności dla sieci usługi sieci Web, zobacz machineKey Element (ASP.Schemat ustawień netto).

W programie .NET Framework 2.0 lub nowszej sprawdzania poprawności stanu widoku jest domyślnie włączone i informacje o tożsamości procesu ASP.NET jest używana do przeprowadzania weryfikacji. Weryfikacja przez tożsamość procesu nie działa w ramach klastra lub scenariusza farmy sieci Web, gdzie tożsamości procesu jest różny dla każdego węzła. Aby wymusić wszystkich węzłów, aby korzystać z tej samej tożsamości procesu, można wygenerować klucza weryfikacji do obsługi widoku stan weryfikacji i ręcznie zaktualizuj z nich korzystać w każdym węźle.

  1. Generowanie klucza sprawdzania poprawności. Możesz użyć Generowanie funkcjonalność programu .NET Framework lub można utworzyć klucz inny sposób. Nie używaj opcji Generowanie podczas ustawiania validationKey atrybutu.

  2. Wygenerować klucz szyfrowania. Klucz odszyfrowywania, można utworzyć jawną lub ustawić decryptionKey na automatyczne tworzenie.

  3. Otwórz plik Web.config na każdym węźle w farmie sieci Web i ustaw machineKey elementu. Musisz określić klucz sprawdzania poprawności, klucz szyfrowania i typ szyfrowania używany do sprawdzania poprawności danych.

  4. Powtórz te kroki na każdym węźle w wdrożenia klaster lub farmę serwerów sieci Web.

ms251661.collapse_all(pl-pl,VS.140).gif< httHandlers >

ReportViewer program obsługi HTTP, który służy do pobierania obrazów, które zostały osadzone lub odwołuje się do raportu, eksportowanie raportów na różne formaty wyjściowe, zawiera kontrolki serwera sieci Web zawierają formant kalendarza umożliwia wybierz daty dla parametru raportu, nie zamykaj sesji raportu i obsługiwać funkcje obsługi skryptów po stronie klienta w ReportViewer cotrol.

Ustawienia konfiguracji dla programów obsługi HTTP są określane w system.web/httpHandlers elementu i system.webServer/handlers elementu. z pliku Web.config aplikacji. Program obsługi określone w system.web/httpHandler jest używana przez Internet usług informacyjnych (IIS) 6.0 lub 7.0 usług IIS w trybie Classic program obsługi określone w system.webServer/handlers jest używana przez usługi IIS 7.0 w trybie zintegrowanym. Ustawienia konfiguracji są umieszczane w pliku Web.config automatycznie podczas przeciągania kontrolki serwera sieci ReportViewer Web z przybornika na formularzu sieci Web. Programy obsługi HTTP są częścią kontroli. Nie można usunąć ani zastąpiona.

Ważne

Aby korzystać z usług IIS 7.0 w trybie zintegrowanym, należy usunąć program obsługi HTTP w system.web/httpHandlers.W przeciwnym razie usług IIS nie zostaną uruchomione aplikacji, ale zamiast tego wyświetli komunikat o błędzie.

Przechowuje obsługi HTTP, która ma zastosowanie do wersji usług IIS w odpowiedniej sekcji. W przypadku usunięcia lub zmodyfikowania ustawień konfiguracji programu obsługi HTTP, ReportViewer kontrolki serwera sieci Web w formularzu sieci Web wyświetli komunikat o błędzie informujący o dodanie go do odpowiedniej sekcji w pliku web.config. Programy obsługi HTTP w obu system.web/httpHandlers i system.webServer/handlers zduplikowane poniżej:

<system.web>
   <httpHandlers>
      <add path="Reserved.ReportViewerWebControl.axd" verb="*" 
      type="Microsoft.Reporting.WebForms.HttpHandler, 
      Microsoft.ReportViewer.WebForms, Version=10.0.0.0, 
      Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" 
      />
   </httpHandlers>
</system.web>
<system.webServer>
   <handlers>
      <add name="ReportViewerWebControlHandler" 
      preCondition="integratedMode"
      verb="*" path="Reserved.ReportViewerWebControl.axd" 
      type="Microsoft.Reporting.WebForms.HttpHandler, 
      Microsoft.ReportViewer.WebForms, Version=10.0.0.0, 
      Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
      />
</handlers>
</system.webServer>

Zobacz też

Informacje

httpHandlers elementu (ASP.Schemat ustawień netto)

Koncepcje

Dodawanie i konfigurowanie kontrolek Podglądu raportów

Wdrażanie raportów i kontrolek Podglądu raportów

Inne zasoby

handler