Erro estranho, muito estranho, ASP.NET/C# System.IndexOutOfR

25/09/2009

0

Pessoal estou começando a ficar com medo, acontece que o site da empresa onde trabalho de repente para de funcionar e simplismente da um erro loko na tela como por exemplo: [b:758d1edd54]System.IndexOutOfRagenException[/b:758d1edd54]

O estranho é que o site esta normal, e de repente, para!.

Para voltar eu vou no servidor e digito no cmd do windows: iireset /restart.

Pronto ele volta a funcionar, o problema é que somos uma faculdade e o acesso ao site é bem grande, uma média de 400 a 1000 visitas ao dia e isso está me dando dor de cabeça.

Outra coisa, quando o erro aparece na tela e eu dou um f5 aparece o mesmo erro porem num arquivo dirente com linhas diferentes.
Pô sou programador PHP há 6 anos e faz +/- 1 ano e meio que estou no asp.net /C e não tenho a minima ideia do que esteja acontecendo, e porque que quando reinicio o server ele volta?.

Outro detalhe é que eu já fiz a troca de servidor, tenho 4 windows 2003 server aqui na Faculdade e ja passei pros 4 e em todos eles, o problema aparece.

O Servidor atual é um IBM xeon, 4gb de ram, e uma HD SAS 320 gb.
Enfim acredito que não seja o servidor meu problema, acho que em algum trecho do codigo eu esteja comendo bola, e pelo fato de ser algum trecho que não seja executado a todo momento, ele da esse erro de epoca em epoca, mas não sei como acha-lo(se for mesmo esse o problema).

Tirei 3 prints de 3 erros diferentes que deram agora a pouco.

Por favor pessoal me ajude, estou desesperado!!!!!!!!

Erro1: [img]http://www.fkb.br/erros/erro1.bmp[/img]
Erro2: [img]http://www.fkb.br/erros/erro2.bmp[/img]
Erro2: [img]http://www.fkb.br/erros/erro3.bmp[/img]


Abreufkb

Abreufkb

Responder

Posts

28/09/2009

Ara.es

abreuFKB, esse erro costuma acontecer quando se tenta acessar um array, ou qualquer outro objeto que é acessado por indice, e esse indice é menor que zero ou maior que o maximo permitido.

Verifique se em alguma parte da programação, alguma array ou outro objeto está sendo acessado incorretamente.

Flw!


Responder

29/09/2009

Katiuscia Schröer

abreuFKB não sei se ja conseguiu a solução do seu problema, mas viu eu ja tive um problema parecido. Eu tinha uns sites q eram bastante acessados e do nada a pagina parava de funcionar.
Só que o meu problema estava na web.config, na string de conexão com o banco. Eu estava usando o banco sql server 2005.




abrc...


Responder

29/09/2009

Abreufkb

Katy, eh exatamente isso, eu estou com Sql Server 2005 e estou fazendo conexao via web.config.

Na sexta feira a noite, eu criei um usuario para o banco do Site com o nome ´FKBSite´, onde o mesmo tem acesso somente ao banco do Site, e experimentei fazer a conexao com esse usuario, pois antes eu usava o usuario ´sa´.

Fiquei super feliz pois o site ficou o final de semana todo sem cair, porém hoje veio a decepção, ele caiu de novo, simplismente parou, com aquele erro loko que mencionei anteriormente.

Reiniciei o IIS e até agora o site esta no ar, acho que não adiantou muita coisa a minha tentativa.

Você disse que tinha um problema na sua string de conexão, vou postar a minha pra vc dar uma olhada, de repente ela esta errada também.

<add name=´ConexaoUm´ connectionString=´Server=localhost; Database=FKBsite; user=FkbSite; password=gr@ndia2005;´
providerName=´System.Data.SqlClient´ />

Pessoal, obrigado pela atenção, se precisar de qualquer coisa estou disponivel


Responder

30/09/2009

Katiuscia Schröer

Abreu, tenta colocar na sua string de conexão isso que está em negrito, se não me enago depois que coloquei isso não deu mais problema.

<add name=´Teste´ connectionString=´[b:9a7889cbd4]Min Pool Size=5;Max Pool Size=250;[/b:9a7889cbd4]Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true´ providerName=´System.Data.SqlClient´ />

Espero que ajude.

t+


Responder

30/09/2009

Katiuscia Schröer

Abreu, tenta colocar na sua string de conexão isso que está em negrito, se não me enago depois que coloquei isso não deu mais problema.

<add name=´Teste´ connectionString=´[b:02a0f0ee4d]Min Pool Size=5;Max Pool Size=250;[/b:02a0f0ee4d]Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true´ providerName=´System.Data.SqlClient´ />

Espero que ajude.

t+


Responder

02/10/2009

Abreufkb

Pessoal agora com menos frequencia o problema ainda esta ocorrendo.

Não sei mais o que fazer, preciso muito de ajuda, estou desesperado, pensando seriamente em iniciar um projeto para passar essa minha aplicação para php.

Não posso ficar com a aplicação dando pau assim, do nada o maluco para de funcionar, ai tenho q me conectar remotamente no server e reiniciar o IIS.

Por favor se alguem puder me ajudar!!!!!


Responder

05/10/2009

Abreufkb

Hoje por volta das 22:00 (dia 05 out 2009) o erro voltou a aparecer, do nada me ligaram e disseram que o site estava fora do ar.

Entrei no server e reinicei o IIS, resultado: tudo voltou ao normal.

Não sei mais o que fazer estou desesperado, ninguem sabe o que é isso, não é possivel q ninguem nunca tenha tido um problema parecido.


Responder

09/10/2009

Signori

Kra vc está utilizado DataReader para manipulação dos dados?

pelo que vi na imagem 3 que vc postou:
´while reader.read´

Como seu site tem muitos acessos por dia, eis o problema, DataReader lota a memória do servidor e não suporta vários acessos, podes verificar que quando o site trava, o processo w3wp.exe do servidor está utilizando grande quantidade de memória, é por causa do DataReader.

Falo isso porque já enfrentei esse problema.

para aplicações deste porte não é recomendável o uso de Reader.

Uma solução que pode te auxiliar a curto prazo, seria evitar o máximo o acesso ao BD, pois assim utilizará menos o componente, também dê um ´.dispose´ e ´.free´ no seu DataReader nas consultas.

Solução definitiva: Eliminar o DataReader do teu projeto, implementando uma classe de conexão (DataAcess) e já que trabalha com SQL Server, podes utilizar o componente padrão para conexão.

Se tiver dúvida pode me mandar email.


Responder

09/10/2009

Abreufkb

Caro signori, acho que vc tem toda razão, eu uso muito DataReader na minha aplicação.

A conexão eu criei uma classe que a faz.ex.:

[b:1477b0cf0a]public static SqlConnection Instance
{
get
{
if (instance == null)
{
instance = new SqlConnection(ConfigurationManager.ConnectionStrings[´ConexaoUm´].ConnectionString);
}
return instance;
}
}
[/b:1477b0cf0a]
Depois eu a chamo de qualquer lugar da minha aplicação,(dbConnection.Instantece.Open()).

Me diga uma coisa, será que seria legal eu trocar os DataReaders por DataAdapter?


Responder

09/10/2009

Signori

abreuFKB,

acho interessante fazer esta troca, não custa tentar.

Otra coisa que pode ajudar, se vc não o faz ainda, é vc fechar esta conexão após cada ida ao banco. ´connection.close´.

Vc usa StoredProcedures? Também melhoram muito o desempenho.

Qualquer dúvida estamos aí...


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar