Pergunta

Eu criei alguns aplicativos personalizados que são executados no WSS 3 usando o modelo de aplicativo da Web do Visual Studio 2010. Quando compilar o aplicativo, o Visual Studio cria o arquivo de montagem no diretório do bin, que copio mais tarde para o servidor de produção (outra máquina) com o WSS 3. O arquivo DLL do aplicativo compilado é copiado na pasta bin dentro do diretório virtual do WSS e corre bem lá dentro.

À medida que os requisitos / aplicativos do projeto cresciam ao longo do tempo, agora enfrento o problema que o primeiro acerto na assembléia desencadeia a compilação dinâmica que eu gostaria de evitar.

Mesmo que os aplicativos estejam funcionando bem, eu gostaria de usar o pré -compilador ASP na minha máquina de desenvolvimento para reduzir o atraso quando a página for solicitada pela primeira vez.

Eu usei o seguinte comando para pré -compilar todo o aplicativo da web:

aspnet_precompile -v / -p PATH_TO_WEB_APPLICATION C:\WebApp -errorstack

A compilação funciona bem sem erros e eu acabo com alguns arquivos .compilados e também um arquivo web_app_xxxxx.dll dentro da pasta C: webapp bin.

A partir daqui, estou um pouco perdido em como proceder.

Você poderia me dar alguns conselhos sobre qual pasta eu preciso copiar os arquivos compilados no servidor de produção?

Eles precisam entrar na pasta BIN no servidor ou melhor na pasta onde as páginas ASPX estão localizadas?

Além disso, gostaria de saber se consigo pré -compilar o aplicativo da Web em uma máquina de desenvolvimento sem a metabase do IIS usando o comutador -v e -p e posteriormente usá -lo dentro do WSS?

Copiei todos os arquivos da pasta C: WebApp bin para a pasta do servidor, mas infelizmente o processo de compilação CSC ainda entra em ação ao procurar com o Monitor do Process nos eventos do servidor.

Saúde,

Mathias

Foi útil?

Solução 2

Encontrei uma resposta a esta pergunta de pré -compilação:

Eu pensei que o primeiro acerto na página do aplicativo leva muito tempo porque o ASP.NET precisa compilá -lo e posso economizar algum tempo pré -compilando. O aplicativo é executado dentro do contexto WSS e permite que o usuário acesse um formulário da Web e atualize através do formulário seu perfil do Active Directory. A lista de endereços globais do Exchange também é atualizada na floresta do intercâmbio, para que as alterações sejam visíveis através da lista de endereços do Outlook e também do comunicador.

O código de solução completo com relatórios etc é cerca de 6000 linhas de código C#.

Minha suposição em relação à compilação lenta devido à quantidade de linhas estava errada.

Eu baixei o seguinte hotfix para asp.net:http://support.microsoft.com/kb/961884

e defina otimizecompilations = "true" no web.config, conforme explicado aqui:

http://blogs.msdn.com/b/davidebb/archive/2009/04/15/a-new-flag-to-optimize-asp--compilation-behavior.aspx

http://www.paulliebrand.com/2009/09/18/sharepoint-development-to-bin-folder-and-extremely-slow-render-nitial-render-times-folution/

Agora, o primeiro golpe no aplicativo é muito mais rápido.

Muito Obrigado,

Mathias

Outras dicas

Os arquivos só precisam ser descartados na pasta BIN e tudo funcionará bem. Quanto ao comutador -v, você precisa ter se estiver usando o sinalizador -P, mas acho que depende de como você também está compilando o aplicativo. Verificar esse link fora para mais. Não acredito que seja um grande negócio se estiver errado / incorreto.

Esse tipo de cenário parece um trabalho para o ambiente .NET de controle de cruzeiro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top