
terça-feira, setembro 16, 2008
.NET + WEBSERVICES - SMS por E-Mail

domingo, setembro 17, 2006
Networking Windows 2003 server
A rede assenta em vários sectores com dois controladores de dominio (1 avariado), 2 servidores de aplicações, um proxy + mail (Linux) e 2 maquinas com aplicações partilhadas.
Redefenindo tudo, acordei com o cliente, uma rede com recursos Active Directory (Desde W2000), com partilha DFS, Storage server, Exchange e dois DC.
Os controladores de dominio serão 2 constituindo assim uma redundância segura em caso de falha de um deles. Os disco estão em raid por software.
Um aplication server, onde no fundo será também um file server, onde serão instaladas todas as aplicações do cliente (alguma bem antigas), aplicações essas que sofreram alguns testes de compatilidade, todos com sucesso.
Um Exchange Server com 3 discos em raid.
Um Storage server com o Windows 2003 Storage Server também com algumas aplicações de interesse, tais como o interface Web de Administração do Storage Server.
Um dos servidores antigos será constituido como um servidor de suporte a avarias.
Em vez do proxy, concluá que uma appliance Firewall, com gateway antivirus + RBL filter seria boa escolha.
Por fim, deslocalização do WWW portal para a zona DMZ.
Colocarei um desenho da solução aqui mais tarde.
segunda-feira, setembro 04, 2006
WRT54G3G - OPERACIONAL!!!!
Clientes desligam VPN 3G
A testar nas configurações cliente/servidor:
Colocar TCP em vez de UDP;
Colocar fragment XXX em ambos os lados cliente e servidor;
Colocar mssfix xxx;
A ver como me saio. O cliente em questão é um automato que gera um volume de trafego substancial.
quinta-feira, agosto 24, 2006
WRT54G3G - ligando 2 routers 3G com openvpn
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.
quarta-feira, junho 22, 2005
Cluster em Cabo Verde
quinta-feira, junho 02, 2005
Andei perdido
sexta-feira, maio 13, 2005
IIS com Framework .NET para sistema de Suporte ao Cliente
quarta-feira, maio 11, 2005
Perda de dados em tabelas de ERP
domingo, maio 08, 2005
Cannot perform an aggregate function on an expression containing an aggregate or a subquery
select avg(count(ip)) from pagehits where [month] = 2 group by ip daria o seguinte erro "Cannot perform an aggregate function on an expression containing an aggregate or a subquery" e a unica maneira de dar a volta é usar o que se chama "Tabelas derivadas".
select avg(ipcount) from (select count(ip) ipcount from pagehits where [month] = 2 group by ip) as sub
Devo dizer que não existe muita informação quando se trata de queries bem mais complicadas.