Recebe uma mensagem de erro "The Windows SharePoint Services virtual server has not been configured for use with ASP.NET 2.0.xxxxx.0" quando acede à home page de um Web site do Windows SharePoint Services

Traduções de Artigos Traduções de Artigos
Artigo: 894903 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Considere o seguinte cenário. Instala o Microsoft Windows SharePoint Services num servidor. O Microsoft IIS (Serviços de informação Internet - Internet Information Services) 6.0 é configurado para utilização com o Microsoft ASP.NET 2.0 nesse servidor. Quando acede à home page de um Web site do Windows SharePoint Services, recebe a seguinte mensagem de erro:
The Windows SharePoint Services virtual server has not been configured for use with ASP.NET 2.0.xxxxx.0. For more information, please refer to Knowledge Base article 894903 at http://go.microsoft.com/fwlink/?linkid=42660.
Note que xxxxx em ASP.NET 2.0.xxxxx.0 indica a versão de ASP.NET 2.0 em execução.

Causa

O ASP.NET 2.0 implementa uma nova alteração de segurança que ajuda a efectuar um bloqueio de segurança num servidor virtual do IIS 6.0. Nas versões anteriores de ASP.NET, o código é executado no nível de fidedignidade atribuído ao mesmo. O nível de fidedignidade é determinado pelo ficheiro de políticas de segurança de acesso a código. O ficheiro Wss_minimaltrust.config é um exemplo de um ficheiro de políticas de segurança de acesso a código especificado no ficheiro Web.config.

A nova alteração de segurança no ASP.NET 2.0 restringe as permissões de páginas Web, de peças Web e controla a intersecção entre o PermissionSet de ASP.NET e o nível de fidedignidade de execução do código. Nesta configuração, o PermissionSet de ASP.NET é uma representação declarativa de uma instância PermissionSet. Por predefinição, o Windows SharePoint Services atribui apenas privilégios mínimos ao PermissionSet de ASP.NET. A alteração de segurança que é implementada no ASP.NET 2.0 faz com que seja executado algum código com privilégios reduzidos. Por exemplo, foi executado anteriormente código de assemblagens na cache de assemblagem global com um nível de fidedignidade total. Quando configura o servidor virtual no IIS 6.0 para utilizar o ASP.NET 2.0, o código é executado com os privilégios atribuídos ao PermissionSet de ASP.NET. O bloqueio é incompatível com o Windows SharePoint Services. Por conseguinte, o bloqueio tem de ser desactivado no ficheiro Web.config.

O ASP.NET 2.0 também inclui uma nova funcionalidade denominada validação de eventos. A validação de eventos monitoriza chamadas de retorno para a infra-estrutura ASP.NET para garantir que a origem de uma chamada de retorno é a mesma que o destino de controlo. Algumas páginas do Windows SharePoint Services utilizam chamadas de retorno que não estão associadas a um controlo em particular. As chamadas de retorno que não estão associadas a um controlo em particular podem causar erros de execução de páginas. Por conseguinte, o Windows SharePoint Services 2.0 não é compatível com a funcionalidade de validação de eventos do ASP.NET 2.0. Quando configurar uma aplicação Web expandida do Windows SharePoint Services num servidor com o ASP.NET 2.0 instalado, tem de desactivar a validação de eventos do ASP.NET 2.0.

Resolução

Utilize a ferramenta da linha de comandos Stsadm.exe do Windows SharePoint Services para actualizar as definições no ficheiro Web.config. Para o fazer, utilize o seguinte comando:
stsadm -o upgrade -forceupgrade -url http://URLDoServidorVirtual
O comando actualiza o ficheiro Web.config localizado na pasta raiz do servidor virtual. Por exemplo, o comando actualiza o ficheiro Web.config que está localizado na pasta Unidade:\Inetpub\Wwwroot. A operação de actualização efectua as seguintes alterações:
  • O comando adiciona o atributo processRequestInApplicationTrust à seguinte tag <trust>:
    <trust level="WSS_Minimal" originUrl="" />
    Depois de executar o comando, a tag <trust> é apresentada do seguinte modo:
    <trust level="WSS_Minimal" originUrl="" processRequestInApplicationTrust="false" />
  • O comando adiciona o seguinte elemento a seguir à tag <pages>:
    <namespaces> <remove namespace="System.Web.UI.WebControls.WebParts" /> </namespaces>
  • O comando adiciona um atributo enableEventValidation à tag <pages>, em que a tag original é a seguinte:
    <pages enableSessionState="false" enableViewState="true" enableViewStateMac="true" validateRequest="false"> </pages>
    Depois de o atributo ter sido adicionado, a tag é a seguinte:
    <pages enableSessionState="false" enableViewState="true" enableViewStateMac="true" validateRequest="false" enableEventValidation="false"> <namespaces> <remove namespace="System.Web.UI.WebControls.WebParts" /> </namespaces> </pages>

Mais Informação

Se alterar a versão de ASP.NET utilizada pelo servidor virtual de ASP.NET 2.0 para ASP.NET 1.1, terá de utilizar a ferramenta da linha de comandos Stsadm.exe para actualizar as definições no ficheiro Web.config. Para o fazer, utilize o seguinte comando:
stsadm -o upgrade -forceupgrade -url http://URLDoServidorVirtual
O comando remove os elementos previamente adicionados ao ficheiro Web.config. Ou seja, as seguintes alterações são efectuadas ao ficheiro Web.config:
  • O comando remove o atributo processRequestInApplicationTrust da seguinte tag <trust>:
    <trust level="WSS_Minimal" originUrl="" processRequestInApplicationTrust="false" />
    Depois de executar o comando, a tag <trust> é apresentada do seguinte modo:
    <trust level="WSS_Minimal" originUrl="" />
  • O comando remove o seguinte elemento a seguir à tag <pages>:
    <namespaces> <remove namespace="System.Web.UI.WebControls.WebParts" /> </namespaces>
Se não executar o comando depois de configurar o servidor virtual para utilizar o ASP.NET 1.1, recebe a seguinte mensagem de erro:
Erro do servidor na aplicação '/'.
Ou, se a funcionalidade CustomErrors estiver activada, recebe a seguinte mensagem de erro:
Atributo 'processRequestInApplicationTrust' não reconhecido.

Origem do erro:
Linha 66:     <compilation batch="false" debug="false" /> 
Linha 67:     <pages enableSessionState="false" enableViewState="true" enableViewStateMac="true" 
              validateRequest="false" /> 
Linha 68:     <trust level="WSS_Medium" originUrl="" processRequestInApplicationTrust="true"/> 
Linha 69:     <machineKey validationKey="A4CE4E781E8FCF0763F6D8309BB2394532B29E2DA9DD555F" 
              decryptionKey="2AF183D38F95610298659AB9E30B9B1B4AC6A6D362D8D5F7" validation="SHA1" /> 
Linha 70:   </system.web> Ficheiro de origem: c:\inetpub\wwwroot\web.config    Linha: 68

Referências

Para obter mais informações sobre a ferramenta da linha de comandos Stsadm.exe, consulte o tópico "Command-Line Operations", o tópico "Command-Line Parameters" e o tópico "Command-Line-Properties" no capítulo "Reference" do Microsoft Windows SharePoint Services Administrator's Guide. Para obter o Microsoft Windows SharePoint Services Administrator's Guide, visite o seguinte Web site da Microsoft:
http://www.microsoft.com/downloads/details.aspx?FamilyID=a637eff6-8224-4b19-a6a4-3e33fa13d230&displaylang=en

Propriedades

Artigo: 894903 - Última revisão: 13 de abril de 2007 - Revisão: 3.7
A informação contida neste artigo aplica-se a:
  • Microsoft Windows SharePoint Services
Palavras-chave: 
kberrmsg kbtshoot kbprb kbconfig KB894903

Submeter comentários

 

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