Redireccionando a una Pagina Segura con C#

Muchas veces en las aplicaciones que desarrollamos, tenemos módulos o paginas que deben de estar cifradas dada a su importancia, muchos utilizan un protocolo de conexion seguro como SSL para realizar esta tarea SSL = Security Socket Layer.

Luego que tenemos ya definido en nuestro sitio el método de cifrado que utilizaremos, les mostrare como pueden redireccionar desde una dirección http a una https, utilizando C#.

Para realizar la Redireccion de paginas, lo que haremos es crear un método que se llamara SecurityProtocol(bool isSecure) el cual aceptara un parámetro Boolean.

Entonces en la pagina que queramos redireccionar ponemos el siguiente código en el Page_Load



protected void Page_Load(object sender, EventArgs e)

    {
        this.SecurityProtocol(true);
    }


Y el metodo Security Protocol Tendria lo Siguiente


public void SecurityProtocol(bool isSecure)
    {
        string redirectUrl = null;

        if (isSecure && !Request.IsSecureConnection)
        {
            redirectUrl = Request.Url.ToString().Replace("http:", "https:");
        }
        else if (!isSecure && Request.IsSecureConnection)
        {
            redirectUrl = Request.Url.ToString().Replace("https:", "http:");
        }

        if (redirectUrl != null)
        {
            Response.Redirect(redirectUrl);
        }
    }


Con esto redireccionaremos la aplicacion que queramos a una pagina que utilice medios de seguridad cifrados.





Llamar un WebServices desde un Store Procedure

En una ocasión un viejo amigo, estaba programando unas aplicaciones con .Net y Sockets, y necesitaba poder invocar un WebServices desde un procedimiento almacenado.


En este articulo compartire esa experiencia, para que otros programadores puedan aprender a invocar un WebServices enviándole parámetros desde un Store Procedure.

1. Creamos Nuestro Proyecto WebServices en Visual Studio.

2. Luego procedemos a crear los métodos que vamos a utilizar en nuestro servicio, en mi caso cree 6 métodos que son: Saludar(string Param1) y este espera un String como parámetro, HelloWord() este no espera ningún parámetro, y los métodos Add, Substract, Proliferation y Divide (int Num1, int Num2) esperan 2 números enteros como parámetros.

3. Procedemos a crear nuestro procedimiento almacenado que tendrá todo el código para invocar el WebServices que acabamos de crear, como en todos mis artículos la base de datos que utilizo es AdventureWorks, que es la base de datos de prueba que trae SQL Server.



4. Luego Publicamos el Servicio Web en nuestro IIS


5. Procedemos a Codificar nuestro Store Procedure con los Datos de Nuestro Servicio Web.


6. En el procedimiento que Creamos, le pasamos un parámetro que es el Parámetro que esta esperando el Método Saludar(), si desean utilizar los otros métodos, deberán crear otro parámetro pues como les mencione anteriormente los otros métodos están esperando 2 parámetros tipo enteros.

Algo también que es muy importante cuando utilizando los procedimientos Almacenados SP_OAMethod este espera el método POST o GET, por defecto casi siempre le enviamos POST, pero si le enviamos este método, no podremos visualizar la lectura del XML que genera nuestro Servicio Web, por lo cual debemos utilizar el Método GET.



7. Procederemos a Probar Nuestro Servicio Web, a través de nuestro navegador, escribimos la dirección del IIS donde esta publicado nuestro Servicio Web. http://localhost/WebServices/Service1.asmx , en el mismo aparecerán todos los métodos que tengamos creados en nuestro Servicio Web.
8. Seleccionamos el Método que vamos a Utilizar e Invocar desde nuestro Procedimiento Almacenado, Saludar(). Luego procedemos a escribir el parámetro que deseamos pasarle al Servicio Web, luego de esto cliqueamos en Invoke.


9. Luego de esto se nos abrirá otra pagina de nuestro navegador, con la información contenida en XML y el parámetro que escribimos.

10. Procedemos a Ejecutar el Procedimiento Almacenado que acabamos de crear para invocar nuestro Servicio Web.


11. Luego de ejecutar nuestro procedimiento y enviarle nuestro parámetro obtendremos el mismo resultado que obtuvimos cuando lo ejecutamos a través de nuestro navegador.

Miren la comparación y notarón que es el mismo resultado.

Aplicaciones Multi-Idiomas

Existen varias maneras de nosotros desarrollar una aplicación Multi-Idioma, ahora la mas correcta a mi parecer es utilizar archivos donde tengamos todo nuestro diccionario de etiquetas en las cuales podamos darle un significado correcto a la traducción.

Lamentablemente aunque los traductores que hay hoy en día en Internet son bastante buenos, aun no traducen 100% la mayoría de la información que necesitamos.

En este articulo mostrare paso a paso como crear una aplicacion multi-lenguaje con Visual Studio.

1. Lo primero que haremos es crear una aplicacion C# en Visual Studio.


2. Procederemos a Diseñar en nuestro formulario una pantalla similar a la que mostrare, esta contiene un Lisbox, un Label y 9 Botones.

3. Luego crearemos 4 nuevos Objetos Resources en nuestros proyectos, le pueden poner el nombre que quieran, luego un punto y lo separan por la cultura que utilizaran, ejemplo MiRecuerso.ES-DO y proceden a rellenar sus campos.

Los Objetos Resources tienen 3 campos principales Name que es donde pondremos el Objeto que queremos renombrar, Value ahi pondremos el valor a remplazar y Comment esto es por si desean guardar algún comentario al respecto.


4. A nuestro Lisbox le introducimos las Culturas que vamos a Utilizar en nuestro aplicativo en nuestro caso utilizamos las siguientes: ES-DO (Español, República Dominicana), EN-US (Ingles, Estados Unidos), JA-JP (Japones, Japón).

5. Luego procederemos a Codificar la Aplicacion.

6. Crearemos un Método que se llamara AplicarIdioma, este es el que se encargara de asignarle los nuevos valores a nuestros controles utilizados.

7. Luego de esto Procederemos a habilitar el Evento SelectedIndexChanged  de nuestro LisBox, y le indicaremos que cada vez que seleccionen un valor diferente a la lista ejecute el siguiente evento.

8. Ya con esto que construida Nuestra aplicacion Multi-Idiomas y solo tenemos que ponerla a Correr para ver los Resultados.