asp.net - stackify - webpi iis




Implantação do IIS7-seção duplicada 'system.web.extensions/scripting/scriptResourceHandler' (11)

Na tentativa de implantar um site .net 3.5 no pool de aplicativos padrão no IIS7 com a seção de estrutura definida como 4.0, recebo o seguinte erro.

Existe uma seção duplicada 'system.web.extensions / scripting / scriptResourceHandler' definida.

Comentar as linhas ofensivas também não ajudava. Alguma indicação sobre o que preciso fazer ou olhar?


A solução para mim foi alterar a versão do .NET framework nos Pools de Aplicativos da v4.0 para a v2.0 para o Pool de Aplicativos Padrão:


Defina o pool de aplicativos para 2.0, eu fiz isso e trabalhei.


Eu resolvi isso, seguindo os seguintes passos:

  1. Eu criei um novo grupo de aplicativos no IIS.
  2. Abra configurações avançadas para o site ou aplicativo da web que está tendo esse problema.
  3. E defina o novo grupo do aplicativo.

Aqui você tem as imagens destas etapas:


Meu aplicativo era um aplicativo ASP.Net3.5 (usando a versão 2 do framework). Quando os aplicativos ASP.Net3.5 foram criados, o Visual Studio adicionou automaticamente scriptResourceHandler ao web.config. Versões posteriores do .net colocam isso no machine.config. Se você executar o aplicativo ASP.Net 3.5 usando o pool de aplicativos da versão 4 (dependendo da ordem de instalação, esse é o pool de aplicativos padrão), você receberá esse erro.

Quando mudei para usar o pool de aplicativos da versão 2.0. O erro foi embora. Eu então tive que lidar com o erro ao servir WCF .svc:

Erro HTTP 404.17 - Não encontrado O conteúdo solicitado parece ser um script e não será servido pelo manipulador de arquivo estático

Depois de alguma investigação, parece que precisei registrar o manipulador WCF. usando as seguintes etapas:

  1. abrir o prompt de comando do Visual Studio (como administrador)
  2. navegue até "C: \ Windows \ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation"
  3. Executar servicemodelreg -i

Necromancing.
Se você não tiver nenhuma seção de configuração system.web.extensions ou entradas de manipulador / módulo em seu web.config, esse problema é causado porque você / outra pessoa copiou um projeto VisualStudio (2013/2015/2017) enquanto ocultava -files unhidden .

Por causa disso, ele não só copiará .git, mas também .VS , que contém um arquivo IIS-Express applicationhost.config , que aponta para arquivos web.config em caminhos que não existem (ou, pior ainda, caminhos que existem , mas não tem o mesmo conteúdo) ...

Solução:
Exclua o arquivo applicationhost.config na pasta .VS.
Ou apenas exclua a pasta .VS.
O Visual Studio irá recriá-lo.


No meu caso, eu queria adicionar manualmente a regra de urlrewrite e não podia ver o erro óbvio (perdi a tag <rules> ):

Código errado:

    <rewrite>
      <rule name="some rule" stopProcessing="true">
        <match url="some-pattenr/(.*)" />        
        <action type="Redirect" url="/some-ne-pattenr/{R:1}" />
      </rule>
    </rewrite>    

  </system.webServer>
</configuration>

código apropriado (com tag de regras):

    <rewrite>
      <rules>
        <rule name="some rule" stopProcessing="true">
          <match url="some-pattenr/(.*)" />        
          <action type="Redirect" url="/some-ne-pattenr/{R:1}" />
        </rule>
      </rules>
    </rewrite>

  </system.webServer>
</configuration>

No meu caso, isso aconteceu depois que converti a solução inteira (usando uma extensão chamada Target Framework Migrator) para 4.6.2, mas acabei desfazendo as mudanças e voltando para o 3.5 (a solução é versionada pelo TFS). Para resolver isso, converti apenas o projeto problemático (que estava usando o IIS Express para ser executado) para 4.6.2 e depois novamente para 3.5.


O problema é o conjunto de dados por definição em .net 4.0 Solucion: entrar em um servidor IIS servidor derecho estabelece os valores dos grupos de aplicação.! [Inserir descrição da imagem aqui] [1] y cambiar la vercion del framework! [Inserir descrição da imagem aqui] [2]

Como funciona pudes os problemas com a instalação da administração central do SharePoint 2010

----- via Google Tradutor -----

O problema é porque o pool está no padrão. Solução Net 4.0: insira o Gerenciador do IIS do servidor para definir valores no lado direito dos pools de aplicativos. [Digite a descrição da imagem aqui] [1] e altere a versão da estrutura! [Digite a descrição da imagem aqui] [2]

Isso deve resolver o problema de instalar a administração central do SharePoint 2010


Se o seu plano é implantar em um IIS que tenha um pool de aplicativos em execução no .net 4.0, você precisará limpar o web.config que inclui todas as definições da seção que apontam para .net 3.5. A razão pela qual isso falha é porque essas definições de seção já estão incluídas no web.config raiz no .NET 4.0 (consulte% windir% \ microsoft.net \ framework \ v4.0.30319 \ config \ machine.config) que inclui todo o sistema. web.extensions declarado já.

Outra solução rápida é definir o pool de aplicativos como 2.0, exatamente como sua máquina de desenvolvimento parece ter.



Se, como eu, você precisa segmentar v4, mas só pode construir com .net 3.5, siga as instruções here . Apenas substitua em seu web.config todo o conteúdo do <configSections> com:

<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
  <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
    <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
    <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions,  Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
      <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
      <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
      <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
      <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
    </sectionGroup>
  </sectionGroup>
</sectionGroup>





iis-7