Posteado por: Carlos J. Valera A. | Septiembre 20, 2007

Desarrollo de programas de .NET sin Visual Studio!!!!

La forma más fácil y productiva de desarrollar software para la plataforma Microsoft .NET® es sin duda con ayuda de Visual Studio .NET®. En realidad, recomiendo que los interesados se suscriban a “MSDN Professional”. Es un poco más cara que Visual Studio únicamente, pero incluye mucho software adicional, como todos los sistemas operativos de Microsoft, SDKs, DDKs y una “base de conocimiento”, además de un año de actualizaciones.A pesar de todas las ventajas que presenta Visual Studio, es posible desarrollar para la plataforma .NET sin él. Para ello, debe obtener el “SDK de .NET Framework”, que puede descargar de http://msdn.microsoft.com/downloads/default.asp. El tamaño total es de más de 130 MB y está disponible tanto en un único archivo como en varios archivos separados.

Observe que NO se trata del runtime de .NET Framework. El runtime se conoce como “.NET Framework redistribuible”, tiene aproximadamente 20 MB y estará disponible en breve en otros idiomas además del inglés.

El SDK incluye el runtime, varias herramientas de desarrollo y documentación. Permite la creación de cualquier tipo de aplicación: consola, DLLs, Windows, ASP.NET y servicios de Web. Está claro que tendremos que programar como se hacía hace muchos años, creando los programas en un editor de textos como Notepad y utilizando herramientas de línea de comandos.

Veamos cómo crear algunos tipos de aplicaciones utilizando el lenguaje C# y el “SDK de .NET Framework”. Partimos del principio de que usted ha descargado e instalado el SDK. Los ejemplos de este artículo fueron probados en una instalación nueva de Windows XP, agregando únicamente las actualizaciones indicadas en el sitio “Windows Update” y en el SDK de Framework.

Aplicación en modo de consola.

Se trata del tipo más fácil de desarrollar. Escriba el programa siguiente en Notepad y guárdelo con el nombre “HolaConsola.cs”:

using System; 

class Hola {
  public static void Main() {
    Console.WriteLine("Hola mundo, desde la consola");
  }
}

El programa “CSC.EXE” es el compilador de línea de comandos de C#. Toma uno o varios archivos “cs” y los compila para crear archivos .EXE o .DLL.

Aplicaciones de Web.

Podemos crear aplicaciones de ASP.NET de una forma muy parecida al ASP tradicional, donde sólo teníamos un archivo que combinaba el código HTML con código del lenguaje de programación.

Para crear una aplicación de Web de esta forma, basta con crear archivos “aspx” en el directorio del servidor de Web, normalmente c:\Inetpub\wwwroot. Como ejemplo, cree un archivo con el nombre “HolaSencillo.aspx” .


Hola desde una página ASP.NET sencilla

rn”);
Response.Write(“Hola mundo!”);
Response.Write(“rn”);
}
%>Observe lo siguiente:

  • La primera línea indica el lenguaje utilizado.
  • Al igual que en el ASP tradicional, el código puede ser situado entre “”.
  • Estamos usando el lenguaje C#, lo que permite una programación mucho más avanzada que con el ASP tradicional. Podríamos usar cualquier lenguaje disponible para la plataforma .NET.
  • El programa se compilará automáticamente cuando se llame a la página por primera vez.

Puede probar el proyecto anterior abriendo el navegador y navegando hasta el URL “http://localhost/HolaSencillo.aspx”:

Al programar de esta forma, usted pierde las facilidades que ofrece una herramienta de tipo RAD, pero puede beneficiarse de algunas ventajas exclusivas de la plataforma .NET, como los controles que se ejecutan en el servidor. Los controles que se ejecutan en el servidor suponen varias ventajas:

  • Procesan las entradas del navegador: no es necesario usar la propiedad Request.
  • Generan una salida a partir de sus propiedades: podemos generar una salida con sólo alterar las propiedades y haciendo llamadas a métodos, sin usar el objeto Response.
  • Conservan su estado cuando la página recibe un PostBack (cuando la página se llama a sí misma).

Veamos como ejemplo una calculadora que usa controles del servidor, creada en el archivo CalcComps.aspx:

0 0
private void Button1_Click(object sender, System.EventArgs e) { double N1 = Convert.ToDouble(TextBox1.Text); double N2 = Convert.ToDouble(TextBox2.Text); double R = N1 + N2; ListBox1.Items.Add(R.ToString()); } override protected void OnInit(EventArgs e) { Button1.Click += new System.EventHandler(Button1_Click); base.OnInit(e); }

Veamos el resultado del programa:

Observe lo siguiente:

  • La página contiene varios componentes con el atributo “runat=server”. Esto significa que se creará en el servidor una instancia del componente correspondiente, cada vez que se llame a la página.
  • Los componentes procesan la entrada, generan la salida y conservan su estado. Observe que los componentes TextBox y ListBox conservan sus contenidos sin que tengamos que hacer nada.
  • El código se encuentra dentro de un bloque SCRIPT.
  • La llamada al método OnInit se realiza con la carga inicial de la página. En él, se asocia el evento Click del botón al código que procesará el evento.
  • Los valores de los campos se obtienen en las propiedades de los componentes, en lugar del objeto Request.
  • La salida se genera indirectamente. En primer lugar alteramos las propiedades de los componentes, que a su vez crean una página HTML, acorde con el navegador utilizado remotamente.

WebServices.

Para desarrollar un servicio de Web sin Visual Studio .NET, sólo es necesario crear un archivo con la extensión “asmx” en el directorio del servidor de Web, normalmente c:\Inetpub\wwwroot. Cree un archivo con el nombre “MiServicio.asmx” y escriba el código siguiente:


using System.Web.Services; 

[WebService(Namespace="http://picaplan.com.br/webservices/")]
public class Cuentas: System.Web.Services.WebService {
  [WebMethod]
  public double Suma(double A, double B) {
    return A + B;
  }
  [WebMethod]
  public double Producto(double A, double B) {
    return A * B;
  }
}

Puede llamar al servicio de Web desde un navegador de Web. En este caso, se crea automáticamente una página de prueba.

También se crea automáticamente una página con la descripción del servicio, con el estándar WDSL.

Observe lo siguiente:

  • La primera línea indica que la página es un servicio de Web y que el lenguaje utilizado es C#.
  • La clase Cuentas contendrá los métodos a los que se llamará de forma remota.
  • La clase Cuentas se deriva de System.Web.Services.WebService. Esto no es imprescindible, pero resulta útil si necesita tener acceso a las variables de sesión, los encabezados de HTTP y otras características del protocolo SOAP.
  • El atributo “Namespace” no es absolutamente imprescindible para que funcione el servicio de Web, pero la norma incluye el requisito de asignar un nombre exclusivo al servicio de Web, basado normalmente en un URL al que usted tenga acceso.
  • El atributo “WebMethod” es imprescindible e indica que es posible llamar al método a través de SOAP.
  • Los tipos entregados y devueltos por los métodos deben ser “serializables”. Los tipos numéricos, string, struct y arrays son serializables. Hay otras clases de la biblioteca, por ejemplo DataSet, que también son serializables.

Llamadas a servicios de Web.

La forma más fácil de llamar a un servicio de Web es crear una clase Proxy que funciona exactamente como una clase de .NET, pero que es capaz de llamar al servicio de Web. Esto puede hacerse con la utilidad WSDL.EXE. El comando que permite generar una clase capaz de llamar al servicio de Web anterior sería el siguiente:

C:>wsdl http://localhost/MiServicio.asmx

Este comando crea un archivo con el mismo nombre que la clase que implementa el servicio de Web, “Cuentas.cs” en nuestro caso.

Llamaremos al servicio de Web de la aplicación siguiente en modo de consola, en el archivo “LlamarCuentas.cs”:

using System; 

class Hola {
  public static void Main() {
    Cuentas C = new Cuentas();
    double R = C.Suma(10, 30);
    Console.WriteLine(R);
  }
}

La aplicación anterior debe ser compilada con el comando siguiente, para unir los dos archivos fuente en el mismo ejecutable y generar el ejecutable LlamarCuentas.EXE:

C:>csc LlamarCuentas.cs Cuentas.cs


Fuente:
http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art58.asp 
Escrito por Mauro Sant'Anna (mas_mauro@hotmail.com). Mauro es Director regional de MSDN,
consultor e instructor de MAS Informática (www.mas.com.br).

Respuestas

  1. las aplicaciones consola pueden correr en msdos 6.22?

  2. hola como estan les aghradesco que esten conmigñ

  3. Como ejecuto lineas de comandos en una aplicacion de windows c#


Dejar una respuesta

Su respuesta:

Categorías