6 maneiras de fazer a mesma coisa, o que é considerado boas práticas?

As vezes tem tantas maneiras diferentes de fazer o mesmo código que nós ficamos na dúvida quanto a qual maneira usar. O que seria considerado "boa prática" pela comunidade e o que sua equipe entenderia melhor. Suponhamos que você esteja trabalhando dentro de um método de um Domain Service chamado UmDomainServiceChique(objetoDoDominio) que será chamado por uma API. Você tem uma regra de negócio chique para ser verificada que por enquanto chamarei de VerificaMinhaRegraChiqueComplexa(). Você chama UmDomainServiceChique(objetoDoDominio) e caso VerificaMinhaRegraChiqueComplexa() retorne true você vai querer que UmDomainServiceChique faça o que tem que fazer e a api retornar Ok 200, caso contrário você quer que a API responda um erro qualquer, tipo BadRequest, e retornar uma mensagem dizendo que VerificaMinhaRegraChiqueComplexa deu ruim. Eu vejo 6 maneiras de fazer isso, gostaria de saber a opinião de outrs devs sobre qual seria a maneira menos gambiarr

Resolvendo o erro Server Application Unavailable (80070545 )

Último post em abril e maio passou batido. É um a cada 2 meses agora? Q vergonha!

Espero com esse post conseguir uma espécie de "Redenção".

Trata-se de um porblema que já aconterceu duas vezes comigo: Windows XP + .Net Framework 1.1  e o iis que vem junto: Depois de instalar o .Net 2.0 com o VS 2008/ ou o 4.0 com o VS 2010 e por aí vai, as suas aplicações .Net 1.1 podem falhar.

Você pode receber uma mensagem vermelha de "Server Application Unavailable", ou coisa do gênero, juntamente com um erro 500 e uma mensagem para verificar o log de eventos. Lá você encontrará o erro 80070545.

Se o seu log estiver assim:

aspnet_wp.exe could not be started. The error code for the failure is 80070545. This error can be caused when the worker process account has insufficient rights to read the .NET Framework files. Please ensure that the .NET Framework is correctly installed and that the ACLs on the installation directory allow access to the configured account.

Para obter mais informações, visite o Centro de ajuda e suporte em http://go.microsoft.com/fwlink/events.asp.

Significa que você deve estar com o mesmo problema que eu. Além disso você pode receber também um erro 403 de "forbidden".

O que eu fiz para resolver:

1) Desinstale e reinstale o ASP .NET 1.1
a) abra o CMD, vá até a pasta do maledeto (C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322) e digite:
aspnet_regiis.exe -u (para desinstalar)
aspnet_regiis.exe -i (para instalar)
regsvr32 aspnet_isapi.dll (para registrar o isapi)


Teste qwue já deve estar funcionando.


Se não funcionar:

2) Certifique-se que as pastas da web e dos projetos tenham as permissões necessárias ao usuario ASPNET da sua máquina.

%windir%\temp - acesso total
%wwwroot%\ - leitura
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\ - leitura
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\ - acesso total

Registro aqui minha hipocrisia: dou acesso total ao grupo "todos" porque não quero perder tempo com isso


Agora funciona.... (ou não)

Caso isso falhe:

3) mude o usuário do machine.config

Abra o arquivo C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config e encontre a string: userName=
Se depois do userName= você encontrar machine, mude para system, que tem mais privilégios. (isso arregaçará completamente com a segurança, faça isso somente na sua máquina de desenvolvimento)


Se tudo isso falhar, segue a lista de links úteis, resultados da pesquisa que fiz no google:

http://www.dotnet247.com/247reference/msgs/43/217665.aspx
http://support.microsoft.com/default.aspx?scid=KB;EN-US;306005#top
http://support.microsoft.com/default.aspx?kbid=811320
http://support.microsoft.com/kb/317012/
http://www.velocityreviews.com/forums/t260386-aspnet_wp-exe-could-not-be-started-error-code-80070545-a.html

Comentários

Postagens mais visitadas deste blog

Busca de CEP com o Lazarus - Parte 1 - UrlEncode

Botão Add This para adicionar seu post em qualquer rede

Uso de memória no SQL Server