terça-feira, junho 20, 2006
Router 3g com HSDPA + OPENVPN - Parte 2
segunda-feira, junho 19, 2006
Router 3g com HSDPA + OPENVPN
- A ligação tem de ser efectuada por uma operadora especifica, não a que o aparelho traz configurados por defeito;
- O router faz somente VPN pass-through, o que quer dizer que não faz ligações vpn-ssl, apenas deixa passar;
- O código GPL para compilar o firmware deste aparelho não está completo e apenas permite compilar o que vem por defeito;
- O router permite apenas UMTS e GPRS e não HSDPA;
Soluções: Alterar os scripts do programa firmware concorrente, adicionar drivers nozomi (HSDPA Option), adicionar package de openvpn para compilação e testar.
Darei resultados no fim desta semana. A ver como corre...
sexta-feira, junho 16, 2006
ASP.NET Index and length must refer to a location within the string. Parameter: Length
Pois o erro aconteceu e desde logo foi corrigido. No meu caso, uso muitas chamadas a subtrings que permite retirar caracteres de uma dada expressão. Um deles não estava a testar o tamanho da string antes de retirar a porção definida. Logo, quando apanhava uma expressão mais pequena do que o numero de carecteres que mandava retirar este gerava um erro.
If imovelbi.ToString.Length > 58 Then
imovelbi2 = imovelbi.ToString().Substring(0, 58)
Else
imovelbi2 = imovelbi
End If
Impus a condição anterior de apenas fazer substring até 58 caracteres se realmente tiver mais de 58 caracteres.
quinta-feira, junho 15, 2006
Cluster Step by step
Eis o local escolhido que irá acolher o bastidor que por sua vez irá acondicionar o Cluster Dl380s + ml350 + cablagem. Como se pode ver, a unica coisa que existe ainda são uns cabos pendurados ligados a um router.
Aqui já temos o bastidor colocado, assim como um primeiro esforço de colocar a cablagem.
Esteve-se também a certificar a cablagem. A cerificação é efectuado por um fluk que corre varios testes e conforme a nossa tabela de valores minimos aceitaveis por cabo, todos eles passaram com exito.
Em baixo fotos do meu local de trabalho para esta solução. Podemos ver o bastidor arranjado com as ups + ml350 + Cluster em pleno funcionamento.
Todo este trabalho foi efectuado em 2 dias sempre a correr. É uma solução que tinha algumas condicionantes e uma delas era por tudo em pleno funcionamento com o minimo tempo de paragem.
Replicação Transacional - SqlServer 2000
VIEWSTATE - ASP.NET Bug meu, Bug meu, diz-me tu quem é pior programador que eu?
Após o envio, já estava a ocorrer um erro. A página nunca mais arrancou, ficando esta infinitamente num estado de procura, como quando esperamos que carregue uma página. Que teria acontecido? Liguei-me por FTP ao servidor remoto e reparei que a base de dados em ACCESS tinha um registo bloqueado (podemos sabe-lo se estiver no mesmo local um ficheiro do tipo .LDB). Estranho. O pior é que não havia maneira de apagar esse ficheiro pois dava sempre o erro de estar a ser usado por um outro processo. A única forma era drástica. Telefonar para o departamento técnico do alojamento e pedir-lhes para REINICIAR O IIS para libertar o serviço !!!!ehe...Simpáticos os tipos aliás. Isto é perigoso para eles porque iriam não só desactivar a minha página como também desactivar todas as outras que estavam ligados com aquele IIS. Após desactivarem os serviços lá consegui colocar a página no ar. O que teria acontecido??
De facto as alterações na página relativamente a todas as outras que fiz, tem a ver com o método LoadControl do controlo Placeholder. Agora em vez de ter varias páginas com usercontrol tenho uma página que faz o load dinamicamente do controlo. Isto provoca algumas alterações nos ViewStates das páginas. Se estes não forem guardados na variavel local , não poderei ter certas interacções com o usercontrol usado, pois o viewstate não é guardado. Resolução??
If Not Me.ViewState("ctrlPath") Is Nothing And Request.QueryString("data") = "" Then
PlaceHolder1.Controls.Add(LoadControl(Me.ViewState("ctrlPath")))
endif
Imaginemos a seguinte situação. Temos uma página que dinamicamente carrega um controlo responsável pela pesquisa no site. Esse controlo tem um botão que despoleta eventos. Carregamos a página juntamente com o controlo e carregamos no botão para pesquisar por exemplo, em produtos. Fantástico. Se nós não guardasse-mos o viewstate desse controlo a página provavelmente nem carregaria se fosse chamada de outro usercontrol. Se não guardasse o viewstate da página e a carregasse novamente com o veiwstate guardado anteriormente, então nada acontecia e seria como se ela carregasse de novo.
Erro ao Iniciar IIS - 0x8ffe2740
De facto, após fazer um levantamento dos programas que poderiam estar a causar o erro, reparei que uma das opçoes do Skype (Telefone grátis pela Internet), tinha como configuração, a porta 80 como porta alternativa em caso de bloqueio das portas normais do Skype. Retirei a checkbox da porta 80, desliguei o Skype, reiniciei o IIS e tudo voltou ao normal. Só não entendi porque terá acontecido.