Mostrando entradas con la etiqueta C#. Mostrar todas las entradas
Mostrando entradas con la etiqueta C#. Mostrar todas las entradas

lunes, 18 de mayo de 2015

Problemas Sintax Highlighting para código < y > como parte del lenguaje c-sharp

Problems Sintax Highlighting with code < and > in c-sharp language for example.
Cuando se trabaja con Sintax Highlighting para un lenguaje como c-sharp, en ocasiones utilizamos código como List listado = new List(). En este caso, se mostrará Sintax Highlighting cerrará ambas etiquetas de manera automática, generándose 2 lo que no debería formar parte de nuestro código, en este caso es conveniente reemplazar: "<" y ">" con < and >
C#
Posted by InfoTacticas Soluciones  |  No comments

5/18/2015 07:56:00 a. m. Share:

Generar archivo de texto en MVC.NET para ser descargado

En un nuevo Proyecto MVC, generamos el Controlador: GenerarArchivo, cuyo método index invocará a la vista GenerarArchivo, que es una vista sencilla, y contiene un link para descargar el archivo de texto, y su contenido es mostrado a continuación:
//
//
@{
    ViewBag.Title = "GenerarArchivo";
}

Generación de Archivos

Descargar Archivo de Texto
El link lnkDescargarArchivoTexto, está referenciando a la acción DescargarExportableTXT del controller: GenerarArchivo. Está acción o método debe devolver un FileContentResult que creamos en memoria en dicho método. El contenido del controller GenerarArchivo es mostrado a continuación:
//
//
public class GenerarArchivoController : Controller
    {
        //
        // GET: /GenerarArchivo/

        public ActionResult Index()
        {
            return View("GenerarArchivo");
        }

        public FileContentResult DescargarExportableTXT()
        {
            List<string> listado = new List<string>();
            listado.Add(new String[]{"Carlos Alvarado Ferreiros", "52632030", "27/10/1990"});
            listado.Add(new String[]{"Franciso Larios Loaiza", "20205263", "15/02/1982"});
            listado.Add(new String[]{"Deysi Zárate Ríos", "42635120", "10/01/1975"});
            listado.Add(new String[]{"Marcela Morán Flores", "20435230", "26/05/1985"});

            Int32 numeroItems = listado.Count();
            StringWriter sw = new StringWriter();
            using (sw)
            {
                for (Int32 i = 0; i < numeroItems; i++)
                {
                    sw.WriteLine(listado[i][0] + "|" + listado[i][1] + "|" + listado[i][2]);                   
                }

            }
                        
            String contenido = sw.ToString();
            String NombreArchivo = "ListadoClientes_" + DateTime.Now.Date;
            String ExtensionArchivo = "txt";
            return File(new System.Text.UTF8Encoding().GetBytes(contenido), "text/" + ExtensionArchivo, NombreArchivo + "." + ExtensionArchivo);
        }
    }

Puede descargar el proyecto desde: https://www.dropbox.com/s/gnm4sooawcejfut/ProyectoGenerarArchivoTexto.rar?dl=0
C#
Posted by InfoTacticas Soluciones  |  1 comment

5/18/2015 07:14:00 a. m. Share:

viernes, 28 de noviembre de 2014

Usar HttpContext desde Librería de Clases - Using HttpContext from class library

Para usar HttpContext en una librería de clases primero debemos añadir la referencia System.Web en el proyecto. Luego importar el ensamblado System.Web en la clase donde lo vamos a usar.
using System.Web;
En este caso estoy creando un método estático que me obtenga la dirección IP de un equipo.
    public static string GetIpCliente(System.Web.HttpContext contexto)
    {           
        string IP4Address = String.Empty;

        foreach (IPAddress IPA in Dns.GetHostAddresses(contexto.Request.UserHostAddress))
        {
          // CODIGO
        }
   }
El propósito del procedimiento lo explique en una entrada anterior, por si les interesa verlo es la siguiente: obtener el nombre del equipo y la dirección IP
Volviendo al tema, para usar el método desde un proyecto ASP (MVC o WebForms) sería de la siguiente manera:
    String ip = Utilitarios.GetIpCliente(System.Web.HttpContext.Current);
Aquí Utilitarios es una clase estática (no es necesario instanciarla para poder acceder a sus métodos estáticos públicos) y lo que se le pasaría al método GetIpCliente es el HttpContext de la actual solicitud HTTP a la aplicación web.
C#
Posted by InfoTacticas Soluciones  |  No comments

11/28/2014 07:55:00 a. m. Share:

jueves, 20 de noviembre de 2014

Obtener el Nombre del equipo y la Direccion IP en C# - How to Get User IP address using C#

Para obtener el nombre de una computadora y su IP en C# utilizaremos el namespace System.net el cual provee una interface de programación simple para muchos de los protocolos de redes usados actualmente y los metodos GetHostNameGetHostAddresses. El primer metodo obtiene el nombre de la computadora local y retorna un valor de tipo string. Mientras que el segundo método obtiene la IP de una computadora a partir del nombre de la computadora y devuelve un valor por medio de un arreglo de tipo IPAddress (un arreglo de bytes).

Un inconveniente en la captura de la dirección IP es que hay diferencias en el formato de dirección IP entre la IP versión 4 y la IP versión 6. Cuando el protocolo IPv4 es el único protocolo habilitado en el servidor web, el acceso a la dirección IP en las Cabeceras de la Solicitud retornarán la dirección IPv4 habitual. Sin embargo, si IPv6 está también habilitada, se impondrá sobre IPv4. Los Sistemas Operativos Windows a partir de Windows Vista traen habilitado por defecto IPv6.

En el código presentado a continuación se verifica si la dirección devuelta es del formato IPv6, también se verifica si se está ejecutando en un equipo local, en cuyo caso devolverá "127.0.0.1" (IPv4) o ::1 (IPV6), en esos casos se procede a obtener la dirección IP a partir del nombre de la computadora y en un formato IPv4.

Espero les sea de utilidad el código.
     public static string GetIpCliente(System.Web.HttpContext contexto)
     {            
         string IP4Address = String.Empty;

         foreach (IPAddress IPA in Dns.GetHostAddresses(contexto.Request.UserHostAddress))
         {
            if (IPA.AddressFamily.ToString() == "InterNetwork" || IPA.AddressFamily.ToString() == "InterNetworkV6")
            {
                IP4Address = IPA.ToString();
                break;
            }
         }

         if (IP4Address != "127.0.0.1" && IP4Address != "::1" ) //String.Empty
         {
            return IP4Address;
         }

         foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName()))
         {
            if (IPA.AddressFamily.ToString() == "InterNetwork")
            {
                IP4Address = IPA.ToString();
                break;
            }
         }
         return IP4Address;
            
    }  
Más información: http://www.4guysfromrolla.com/articles/071807-1.aspx
C# IP
Posted by InfoTacticas Soluciones  |  No comments

11/20/2014 02:18:00 a. m. Share:
back to top