Erros IIS e possíveis ajustes no seu web.config para corrigi-los

Seguem alguns ajustes que podem ser necessários no web.config da sua aplicação:

Problema 1) Se aparecer mensagem que é causada por muitos dados enviados ao servidor:

[InvalidOperationException: A operação não é válida devido ao estado atual do objeto.]

Possível solução: Adicionar ou modificar seu web.config na seção AppSettings:

<appSettings>

<add key=”aspnet:MaxHttpCollectionKeys” value=”2000″ />

</appSettings>

 

Problema 2) Uma demora em processar milhares de registros podem causar esta exceção:
[System.Web.HttpException: Atingido o tempo limite da solicitação.]

Possível solução: Adicionar ou modificar seu web.config na seção system.web:

<system.web>

<httpRuntime maxRequestLength=”20000″ executionTimeout=”3000″ />

</system.web>

Cuidado com configurações muito fora dos padrões. Há propósitos relativos a segurança nestes padrões mas que podem ser modificados. Olhe as referências abaixo para entender melhor cada um dos itens indicados no post.

Referências: https://msdn.microsoft.com/pt-br/library/e1f13641(v=vs.85).aspx e https://msdn.microsoft.com/pt-br/library/hh975440(v=vs.120).aspx

Se este post foi útil para você ou se você tem outras sugestões para as soluções propostas,  compartilhe abaixo contando sua experiência deixando uma mensagem ou avaliando o post.  Assim você também colabora ajudando outros aqui também!

Até a próxima!

Anúncios

Genexus – Usando variáveis na sessão

Um recurso muito utilizado em desenvolvimento para ambiente web é armazenar conteúdo de uma página web ou de uma pesquisa em banco de dados para ser utilizado posteriormente. Por exemplo quando logamos em um site e precisamos fazer um controle de segurança nas páginas restantes do site deixamos o usuário logado na sessão para que em qualquer momento possamos por exemplo verificar qual o usuário logado.

Nas aulas usamos muito este recurso em PHP:

<?php
session_start();
//coloca valor na variável usuario dentro da sessão em PHP (varíavel global)
$_SESSION[‘usuario’] = ‘alysson’; //atribui valor na sessão
$usuario = $_SESSION[‘usuario’]; //pega o valor de usuário na sessão e atribui na variável local $usuario

echo ‘usuario = ‘ .$usuario; //imprime o valor da variável usuário

?>

Em Genexus, usamos de forma semelhante:

Dentro da aba events e dentro de um dos events do webpanel por exemplo:

event start

&websession.Set(‘usuario’, ‘Alysson’) //atribui valor na sessão

&usuarioLogado = &websession.Get(‘usuario’) //pega o valor de usuário na sessão e atribui na variável local &usuarioLogado

msg(‘usuario logado: ‘ + &usuarioLogado) //imprime o valor da variável na tela

endevent

 

Se este post foi útil para você, compartilhe abaixo contando sua experiência deixando uma mensagem ou avaliando o post.  Assim você também colabora ajudando outros aqui também!

Até a próxima.

Genexus ev3 x iis7 x Erro HTTP 500.21 – Internal Server Error

Há uma pequena configuração que deve ser realizada no pool de aplicativos no IIS7 para que não ocorra o erro 500.21.

2016-01-09 19_04_09-Erro detalhado do IIS 8.5 - 500.21 - Internal Server Error

Solução:

Entre no IIS, clique sobre pool de aplicativos, dois cliques sobre qual pool você usa na sua aplicação que causou o erro no browser:

pool de aplicativos32bits-I

passo1

Modifique conforme abaixo:

2016-01-09 18_53_46-Editar Pool de Aplicativos

Alterar modo de pipeline gerenciado de clássico para integrado

 

Reinicie o iis7 e acesse a URL novamente no seu browser e estará tudo ok.

Clique aqui para mais informações sobre pipeline integrado ou clássico.

 

Obs.: Se houver a necessidade de manter o pool de aplicação como clássico para aplicações anteriores que não funcionam ou não devem funcionar no modo pipeline integrado, configure outro pool de aplicativos para sua nova aplicação em genexus. É possível a inclusão de outro pool de aplicativos pelo gerenciamento do IIS, clicando com o botão direito do mouse sobre o pool de aplicativos, adicionar pool de aplicativos.

ref: http://wiki.genexus.com/commwiki/servlet/wiki?FaQNet_50021 e https://technet.microsoft.com/pt-br/library/cc725564(v=ws.10).aspx

Se este post foi útil para você, compartilhe abaixo contando sua experiência deixando uma mensagem ou avaliando o post.  Assim você também colabora ajudando outros aqui também!

Até a próxima.

Tirando o seu SQLServer do Single User Mode

Bom dia pessoal,

Em algumas situações de manutenção de banco ou quando uma queda de energia repentina o seu banco de dados SQLServer entra em estado Single User Mode. Para que seja dada a manutenção devida ao Banco.

Como restaurar ele para Multi_User Mode?

Com o Microsoft SQL Server Management Studio aberto, abra uma new Query, altere o banco para o master e digite o script abaixo:

ALTER DATABASE SeuBancoDeDados
SET MULTI_USER;
GO

Não esqueça de selecionar o master no editor de query para o banco master caso contrário ele avisará que tem um usuário conectado no banco de dados e não alterará o banco para Multi_User.

Até a próxima.

Genexus – Could not load file or assembly … web\bin\Jakarta.POI.dll

Se você estiver executando sua aplicação Genexus em uma máquina 64bits e aparecer a mensagem:
Could not load file or assembly ‘file:///C:\…..\web\bin\Jakarta.POI.dll’ or one of its dependencies. An attempt was made to load a program with an incorrect format.
Esta dll citada(ou outras quaisquer que você possa usar na sua aplicação) é compilada em 32 bits e você esta executando em um ambiente que é 64 bits. É necessário configurar no pool de aplicativos IIS para 32 bits e resolve o  problema.

Abra o Gerenciador IIS, clique no Pool de Aplicativos:

passo1

passo1

Clique com o botão direito sobre o pool de aplicativos utilizado e depois altere de false para true na opção Habilitar Aplicativos de 32 bits:

pool de aplicativos32bits-II

passo 2

 

 

Clique em OK e agora seu IIS aceitará executar aplicações 32 bits e já resolverá o seu problema.

Até a próxima.

Genexus: error CS0006: Arquivo de metadados ‘vjslib.dll’ não pôde ser encontrado

gxOlá pessoal,

Começando aqui com alguns auxílios para os desenvolvedores iniciantes na ferramenta Genexus.
Por algum motivo que não tive tempo ainda de verificar, não foi instalado o J# no momento da instalação do Genexus. Por isso, dependendo da environment da KB que você está desenvolvendo poderá aparecer a mensagem “error CS0006: Arquivo de metadados ‘vjslib.dll’ não pôde ser encontrado” no momento da compilação de alguns objetos da KB.

Para resolver este problema é muito simples. É somente instalar o J# e problema resolvido.

Baixe o arquivo vjregist.exe do site da microsoft(https://www.microsoft.com/en-us/download/details.aspx?id=4712) , instale-o no seu pc, compile novamente os seus objetos e divirta-se com sua KB que agora não acusará mais erros na janela Output.

Até mais.