sábado, 16 de mayo de 2009

FTP con VB.NET

mucha, despues de quebrarme la cabeza....
estaba haciendo un cliente FTP usando un modelo de VB6 que utiliza el contro Inet, pues dije, copy paste! ahuuuueeeevoooos.....
siemple y sencillamente no funciono, tos que me quedaba?...matarme a buscar codigo y encontre esto:
http://www.devasp.net/net/articles/display/246.html

ahi esta como hacer esa cosa y sin controles raros..
por si ya no esta el link

First you need to create an instance of the FtpWebRequest class and set the ftp address of the folder you want to get list from.

Dim fwr As FtpWebRequest = FtpWebRequest.Create(“ftp://ftp.google.com”)

Then you need to set the user name and password for accessing the FTP server. There is a property called Credentials in the FtpWebRequest class that is of type ICredential and you can set it to an object of type NetworkCredential object like this.

fwr.Credentials = New NetworkCredential(“userName”, “password”)

Then you need to specify the Method of this class which is an instance of WebRequestMethods object like this.

fwr.Method = WebRequestMethods.Ftp.ListDirectory

After specifying these properties I’ll retrieve the list of files and folders using a Stream reader and display that in the console. The code for this is as follows.

Dim sr As New StreamReader(fwr.GetResponse().GetResponseStream())

Dim str As String = sr.ReadLine()

While Not str Is Nothing

Console.WriteLine(str)

str = sr.ReadLine()

End While

sr.Close()

sr = Nothing

fwr = Nothing

This will be the simplest example of using these classes to work with the file transfer protocol. Try to work with the code, change it and see what happens. Also find about all the members of this class from the MSDN library.

jueves, 5 de marzo de 2009

Focus a controles dentro de un Script Manager

este es para poner el focus a un control que esta en un FrmContent y el scripManager esta en el pageMaster.


Dim SManager As New ScriptManager 'Creacion del objeto

SManager = Page.Master.FindControl("ScriptManager1") 'asignacion valor que esta en el MasterPage
SManager.SetFocus(txtVale) 'focus al control dentro del pageContent

jueves, 19 de febrero de 2009

Habilitar gzip en Apache

Estuve quebrandome la cabeza, por un buen rato, para evaluar las implicaciones de comprimir las paginas de un sitio WEB....
todo tiene algo bueno y algo malo, el bien y el mal...
lo que encontre hacerca de la abilitacion de gzip usando apache

bueno:
ahorro significativo de ancho de banda, esto es porque todos van comprimidos y el explorador los descomprime y muestra el resultado, como esta compreso, el tiempo de respuesta para el usuario se minimiza entre un 30 y 50%.

Malo:
Costo de CPU, cada peticion, el cpu debe comprimir el archivo, y si ya tenemos un trafico bonito, pues se cargara mas el procesador, si tenes una MOMA (gran servidor) pues habilitalo, tenes mas que ganar que perder, pero siempre tenes que evaluar el antes y despues.
en general cualquiera que sea el server, hay que ver la carga actual del procesador, y sumale un 10%, y si te aguanta el procesador .... dale Campeon!

para habilitarlo solo tenes que poner esto en el httpd.include

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/jsSetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary

si tenes subdominios o varios dominios en un solo servidor, y queres que aplique para todo, pues ponelo en las primeras lineas, ahora si queres que aplique solo para un subdominio, pues hacelo en cada seccion del subdominio.

oralezx pue!

domingo, 8 de febrero de 2009

BASURA DE INTERNET INALAMBRICO!

El Internet Inalambrico de Claro guatemala, es una BASURA!
solo sirve entre las 12PM y 2AM.... despues, me conecto a la increible velocidad de 0.02 kbps!!

si me preguntan? no compren esa porqueria, solo les hara tener mayor estres que el que se gana con una esposa embarazada a punto de dar a luz camino al hospital con un trafico varado!


saludos

jueves, 13 de noviembre de 2008

saber donde estan las bases de datos mysql en ubuntu

/ejecutas esto en un shell
$ ps aux | grep mysql
//te saldra algo asi, y ves donde dice --datadir para ver donde se guarda
16504 0.0 0.1 4668 1156 pts/0 S 09:31 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/woodstock.pid

te dice
y ahi

lunes, 27 de octubre de 2008

Public Sub FillDs(ByVal strSQL As String, ByRef dsData As DataSet)

Public Sub FillDs(ByVal strSQL As String, ByRef dsData As DataSet)
Dim conData As New SqlClient.SqlConnection(strConnectionString)
Try
Dim SqlComm As New SqlClient.SqlCommand(strSQL, conData)
SqlComm.CommandType = CommandType.Text
Dim sqlAdp As New SqlClient.SqlDataAdapter(SqlComm)
If dsData Is Nothing Then
dsData = New DataSet
Else
dsData.Tables.Clear()
End If
sqlAdp.Fill(dsData, "Tabla")
sqlAdp.Dispose()
SqlComm.Dispose()
Catch ex As Exception
Console.Write(ex.ToString)
End Try
If IsNothing(conData) = False AndAlso (conData.State <> ConnectionState.Closed OrElse conData.State <> ConnectionState.Broken) Then
conData.Close()
End If
End Sub

Public Function ExecuteDLM(ByVal strSQL As String) As Long

Public Function ExecuteDLM(ByVal strSQL As String) As Long

Dim lngRecsAfectados As Long
'Dim conDatos As New OracleClient.OracleConnection(strConnectionString)
Dim conDatos As New SqlClient.SqlConnection(strConnectionString)
Try

conDatos.Open()
'Dim scmDatos As New OracleClient.OracleCommand
Dim scmDatos As New SqlClient.SqlCommand
scmDatos.Connection = conDatos
scmDatos.CommandText = strSQL
lngRecsAfectados += scmDatos.ExecuteNonQuery

Catch ex As Exception
Throw New Exception(ex.Message)
Finally
conDatos.Close()
End Try

Return lngRecsAfectados
End Function