Komunikat o błędzie „The Windows SharePoint Services virtual server has not been configured for use with ASP.NET 2.0.xxxxx.0” podczas łączenia się ze stroną główną witryny sieci Web programu Microsoft Windows SharePoint Services

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 894903 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Symptomy

Rozważmy następujący scenariusz. Na serwerze zainstalowano program Microsoft Windows SharePoint Services. Internetowe usługi informacyjne (IIS) 6.0 firmy Microsoft są skonfigurowane do używania z programem Microsoft ASP.NET 2.0 na tym serwerze. Przy próbie połączenia się ze stroną główną witryny sieci Web programu Microsoft Windows SharePoint Services pojawia się następujący komunikat o błędzie:
„The Windows SharePoint Services virtual server has not been configured for use with ASP.NET 2.0.xxxxx.0” (Serwer wirtualny Windows SharePoint Services nie został skonfigurowany do używania z programem ASP.NET 2.0.xxxxx.0). Aby uzyskać więcej informacji, zobacz artykuł 894903 z bazy wiedzy Knowledge Base pod adresem http://go.microsoft.com/fwlink/?linkid=42660.
Należy zwrócić uwagę, że ciąg xxxxx w nazwie ASP.NET 2.0.xxxxx.0 wskazuje wersję używanego programu ASP.NET 2.0.

Przyczyna

W programie ASP.NET 2.0 zaimplementowano nową zmianę zabezpieczeń, która pomaga zablokować zabezpieczenia serwera wirtualnego w usługach IIS 6.0. W starszych wersjach programu ASP.NET kod jest uruchamiany na przypisanym do niego poziomie zaufania. Ten poziom zaufania jest ustalany na podstawie pliku zasad zabezpieczeń dostępu do kodu. Przykładem pliku zasad zabezpieczeń dostępu do kodu jest plik Wss_minimaltrust.config, określony w pliku Web.config.

Nowa zmiana zabezpieczeń w programie ASP.NET 2.0 ogranicza uprawnienia stron sieci Web, składników Web Part i formantów do części wspólnej zestawu uprawnień (obiektu PermissionSet) programu ASP.NET i poziomu zaufania, na którym jest uruchamiany kod. W tej konfiguracji obiekt PermissionSet programu ASP.NET jest deklaracyjną reprezentacją wystąpienia obiektu PermissionSet. Domyślnie program Windows SharePoint Services daje tylko minimalne uprawnienia obiektowi PermissionSet programu ASP.NET. Zmiana zabezpieczeń zaimplementowana w programie ASP.NET 2.0 powoduje, że pewne kody są uruchamiane w kontekście zmniejszonych uprawnień. Na przykład kod z zestawów w globalnej pamięci podręcznej zestawów był wcześniej uruchamiany na poziomie pełnego zaufania. Po skonfigurowaniu serwera wirtualnego w usługach IIS 6.0 do używania programu ASP.NET 2.0 ten kod jest uruchamiany w kontekście uprawnień przypisanych do obiektu PermissionSet programu ASP.NET. Blokada jest niezgodna z programem Windows SharePoint Services. Dlatego konieczne jest wyłączenie jej w pliku Web.config.

Program ASP.NET 2.0 obejmuje również nową funkcję, zwaną sprawdzaniem poprawności zdarzeń. Funkcja sprawdzania poprawności zdarzeń monitoruje wywołania zwrotne infrastruktury programu ASP.NET w celu upewnienia się, że źródło wywołania zwrotnego jest takie samo jak formant docelowy. Niektóre strony programu Windows SharePoint Services używają wywołań zwrotnych, które nie są skojarzone z żadnym określonym formantem. Takie wywołania zwrotne mogą powodować błędy wykonania strony. Dlatego program Windows SharePoint Services 2.0 jest niezgodny z funkcją sprawdzania poprawności zdarzeń programu ASP.NET 2.0. W przypadku konfigurowania aplikacji sieci Web rozszerzonej o program Windows SharePoint Services na serwerze z zainstalowanym programem ASP.NET 2.0 należy wyłączyć funkcję sprawdzania poprawności zdarzeń programu ASP.NET 2.0.

Rozwiązanie

Użyj narzędzia wiersza polecenia Stsadm.exe programu Windows SharePoint Services w celu zaktualizowania ustawień w pliku Web.config. W tym celu należy użyć następującego polecenia:
stsadm -o upgrade -forceupgrade -url http://AdresURLSerweraWirtualnego
To polecenie aktualizuje plik Web.config znajdujący się w folderze głównym serwera wirtualnego. Polecenie to aktualizuje na przykład plik Web.config znajdujący się w folderze Dysk:\Inetpub\Wwwroot. W wyniku operacji uaktualnienia wprowadzane są następujące zmiany:
  • Polecenie dodaje atrybut processRequestInApplicationTrust do następującego tagu trust:
    <trust level="WSS_Minimal" originUrl="" />
    Po uruchomieniu polecenia ten tag trust wygląda następująco:
    <trust level="WSS_Minimal" originUrl="" processRequestInApplicationTrust="false" />
  • Polecenie dodaje następujący element w tagu pages:
    <namespaces> <remove namespace="System.Web.UI.WebControls.WebParts" /> </namespaces>
  • Polecenie dodaje atrybut enableEventValidation do tagu <pages>, gdzie orygianalny tag to:
    <pages enableSessionState="false" enableViewState="true" enableViewStateMac="true" validateRequest="false"> </pages>
    Po dodaniu tego atrybutu tag wygląda następująco:
    <pages enableSessionState="false" enableViewState="true" enableViewStateMac="true" validateRequest="false" enableEventValidation="false"> <namespaces> <remove namespace="System.Web.UI.WebControls.WebParts" /> </namespaces> </pages>

Więcej informacji

W przypadku zmiany wersji programu ASP.NET używanej przez serwer wirtualny z ASP.NET 2.0 na ASP.NET 1.1 należy użyć narzędzia wiersza polecenia Stsadm.exe w celu zaktualizowania ustawień w pliku Web.config. Aby to zrobić, użyj następującego polecenia:
stsadm -o upgrade -forceupgrade -url http://URLOftheVirtualServer
To polecenie usuwa elementy, które wcześniej zostały dodane do pliku Web.config. Tzn. w pliku Web.config są wprowadzane następujące zmiany:
  • Polecenie usuwa atrybut processRequestInApplicationTrust z następującego tagu trust:
    <trust level="WSS_Minimal" originUrl="" processRequestInApplicationTrust="false" />
    Po uruchomieniu polecenia ten tag trust wygląda następująco:
    <trust level="WSS_Minimal" originUrl="" />
  • Polecenie usuwa następujący element z tagu pages:
    <namespaces> <remove namespace="System.Web.UI.WebControls.WebParts" /> </namespaces>
Jeśli to polecenie nie zostanie uruchomione po skonfigurowaniu serwera wirtualnego do używania programu ASP.NET 1.1, pojawia się następujący komunikat o błędzie:
Server Error in '/' Application. (Błąd serwera w aplikacji '/').
Ewentualnie, jeśli jest włączona funkcja CustomErrors, pojawia się następujący komunikat o błędzie:
Unrecognized attribute 'processRequestInApplicationTrust'. (Nierozpoznany atrybut processRequestInApplicationTrust).

Źródło błędu:
Line 66:     <compilation batch="false" debug="false" /> 
Line 67:     <pages enableSessionState="false" enableViewState="true" enableViewStateMac="true" validateRequest="false" /> 
Line 68:     <trust level="WSS_Medium" originUrl="" processRequestInApplicationTrust="true"/> 
Line 69:     <machineKey validationKey="A4CE4E781E8FCF0763F6D8309BB2394532B29E2DA9DD555F" 
	decryptionKey="2AF183D38F95610298659AB9E30B9B1B4AC6A6D362D8D5F7" validation="SHA1" /> 
Line 70:   </system.web> Source File: c:\inetpub\wwwroot\web.config    
Line: 68

Materiały referencyjne

Aby uzyskać więcej informacji o narzędziu wiersza polecenia Stsadm.exe, zobacz tematy „Command-Line Operations”, „Command-Line Parameters” i „Command-Line-Properties” w rozdziale „Reference” podręcznika Microsoft Windows SharePoint Services Administrator’s Guide. Aby uzyskać podręcznik Microsoft Windows SharePoint Services Administrator’s Guide, odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://www.microsoft.com/downloads/details.aspx?FamilyID=a637eff6-8224-4b19-a6a4-3e33fa13d230&displaylang=en

Właściwości

Numer ID artykułu: 894903 - Ostatnia weryfikacja: 1 czerwca 2007 - Weryfikacja: 3.8
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Windows SharePoint Services
Słowa kluczowe: 
kberrmsg kbtshoot kbprb kbconfig KB894903

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com