miércoles, 27 de junio de 2012
martes, 26 de junio de 2012
Error al ejecutar una aplicacion WEB en IIS7
Colocando unas aplicaciones web en un servidor windows 2008 standard 32 bit, estas aplicaciones estan desarrolladas con :
VS2008 con el framework 3.5
VS2010 con el framework 4.0
en este servidor tengo que instalar ambos frameWork, pero cuando configuro mis aplicaciones y trato de ejecutarlas me muestra el siguiente error:
HTTP Error 500.19 Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.
Solucion:
Entrar a la siguiente ruta:
cd C:\Windows\Microsoft.NET\Framework\v2.0.50727
C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.ee -i
con este comando queda registrado el framework y su aplicacion funcionara correctamente.
Etiquetas:
Error al ejecutar una aplicacion WEB en IIS7
lunes, 25 de junio de 2012
Usar un WCF con una clase compilada en nuestro proyecto web
Cuando usamos anteriormente un WCF en una aplicacion web se debio realizar una referencia directamente a la direccion URL del mismo, pero si esta direccion URL cambia por alguna razon, es decir, si esa URL es:
http://10.3.5.32/WCFClientes/Service1.svc
y cambia por la direccion:
http://10.3.5.22/WCFClientes/Service1.svc
debemos volver a realizar la referencia y compilar nuestra aplicacion web y colocarla en nuestro web server, para resolver esto debemos crear un clase utilizando el WSDL que se encuentra en la siguiente :
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin
pero lo recomendable es que entre al directorio de su proyecto web donde utilizara la clase que vamos a crear y ejecute el siguiente comando para obtener la ruta del WSDL:
path C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin
luego para crear la clase ejecute el siguiente comando:
wsdl /language:CS /out:Service1.cs http://localhost/WCFClientes/Service1.svc?wsdl
/language:CS:Indica en que lenguaje deseamos generar la clase puede ser CS: C sharp o VB: Visual Basic
/out:Service1.cs:Service1.cs es el nombre que deseamos darle puede ser el mismo nombre que se utiliza en el WCF o cualquier otro nombre.
http://10.3.5.32/WCFClientes/Service1.svc?wsdl:Es la URL donde esta implementado el WCF y con el cual se generara la clase.
Al ejecutar el comando:
wsdl /language:CS /out:Service1.cs http://10.3.5.32 /WCFClientes/Service1.svc?wsdl
en el directorio donde usted se encuentre se creara el archivo Service1.cs el cual debera copiar dentro de su appWeb y agregarlo a la solucion.
Para utilizarlo puede colocar el siguiente codigo en un boton y agregar un label:
Service1 x = new Service1();
x.Url = "http://10.3.5.32/WCFClientes/Service1.svc";
//Es recomendable que tenga este URL en el webconfig de su aplicacion para que lo pueda cambiar //facilmente si cambia el IP del servidor o en una tabla de una base de datos si se conecta a diferentes //servidores con el mismo webServices
x.Timeout = 600000;//Es el tiempo de respuesta que debe esperar en el request
Label1.Text = x.clientes().ToString();//Metodo que utilizara
Creando un WCF y consumiendo desde una Web app
En este tema trataremos de manera simple como crear y utilizar un WCF, para los que no estan al tanto este es como si fuera un Web Service que utilizamos para el framework 3.5, en este caso utilizaremos VS2010 y el framework 4.0.
1-Creamos un project de tipo WCF Serice Application, con el nombre de WCFClientes
cuando damos clic en el boton Ok aparecera nuestro projecto de la siguiente forma:
Donde en el Solution explorer tenemos los siguientes archivos que debemos de tomar en cuenta:
IService1.cs: Este es la interface donde se define solo el cuerpo de los metodos que utilizaremos
Service1.svc:Aqui se define los metodos con sus funcionalidades que seran invocados al momento de utilizar el WCF.
en el archivo IService1.cs vamos a crear un metodo llamado:
[OperationContract]
string clientes();
siempre los metodos se definen como contratos operacionales.
En el archivo Service1.svc creamos el cuerpo del metodo:
public string clientes()
{
return "consulta de clientes";
}
tenemos todo definido en nuestra interface y clase los metodos a utilizar debemos de modificar el web.Config agregandole las siguientes lineas:
name="Service1">
contract="IService1"
binding="wsHttpBinding"/>
donde Service1 es el nombre de la clase
y en contract IService1 es el nombre de la interface/
Este deberia ser su web.config, donde la parte que esta sombreada debe ser lo que usted agrego para su correcta publicacion.
Debemos recordar que al momento de querer correger el WCF debemos de quitar lo agregamos en el webconfig y luego colocarlo para su publicacion ya que le presentara un error.
2-Publicar el WCF, solo debemos dar clic derecho sobre el projecto y seleccionar Publish...
publicarlo en la ruta que usted desea no tiene que ser en la que se muestra en la siguiente imagen, pero siempre dentro de inetpub\wwwroot por los permiso
4-Debe crear un aplicacion web indicando la ruta donde se encuentra y poner en la pagina por defecto a:
Service1.svc y darle a browse y debe salir una pagina web con el URL como se muestra a continuacion
5-Para ver si funciona el WCF en una aplicacion web, vamos a agregar un nuevo proyecto web donde coloraremos la referencia del WCF implementado en el IIS.
luego aparecera la pantalla donde debemos buscar el WCF
debemos de tomar en cuenta que debemos copiar el URL del WCF que esta en el IIS ya que muchas veces aparece es el de la aplicacion de desarrollo y esto no es lo correcto para hacer la referencia de WCF, en Namespace debemos colocar el nombre con el cual vamos hacer referencia en la aplicacion web para usar los metodos en nuestro caso sera miWCF, debe darle clic al boton Ok y agregar una pagina web y un label darle dobe clic y en el load de la mism colocar el siguiente codigo:
protected void Page_Load(object sender, EventArgs e)
{
miWCF.Service1Client wcf = new miWCF.Service1Client();
Label1.Text = wcf.clientes();
}
al ejecutar la pagina web aparecera en el label con la siguiente informacion:
simple pero ya con esto nos damos cuenta que esta funcionando correctamente nuestro WCF.
domingo, 24 de junio de 2012
Usando Jquery con objetos de ASP .NET
1-Insertar un objeto y TextBox y colocarle el nombre de txtUsuario
2-Insertar un boton
3- Ir al evento load de la pagina y colocar lo siguiente:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Button1.Attributes.Add("Onclick", "mifuncion");
//Donde button1 es el objeto boton y se le agrega en el evento Onclick que al darle click al boton se ejecute la funcion mifuncion y valida si el usuario esta vacio delvuelve el puntero al objeto textbox y muestra un mensaje al usuario de que debe digitar el usaurio.
}
}
//Esta funcion debe de crearla al final del document.ready
if ($('#txtUsuario').val() == "") {
$('#txtUsuario').focus();
alert('Debe digitar el usuario');
}
Usar Jquery para mostrar una ventana de mensaje
Esta vez vamos a utilizar jquery para cuando demos clic a un boton este verifique si el usuario o clave tienen datos de no ser asi mostrar un mensaje indica que debe digitar la informacion, esta validacion recuerde que la realizaremos del lado del cliente de browse y luego se ejecutara lo que esta en el boton, es decir, al darle click al boton se ejecutara de la siguiente forma:
1-Lo que esta programado del lado del cliente
2-Lo que esta en el boton
En el load colocar lo siguiente:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
btnAceptar.Attributes.Add("Onclick", "javascript:validar()");
}
}
//en el source de la pagina en el javascript
dentro del tag BODY creamos el div
Este es el que nos mostrara el mensaje con estilo.
Utilizando JQUERY
Cuando escuche por primera vez sobre jquery y sus utilidades inmediatamente comence a buscar informacion de como utilizarlo con ASP .NET pero nunca encontrabexa como iniciar como utilizarlo siempre informacion muy simple y sin un lineamiento de como iniciar y utilizarlo desde el cero. Intentare en este punto explicarlo de forma sencilla.
1-Debemos bajar la libreria de jquery actualmente esta la 1.7.2
al bajar la libreria que es : jquery-1.7.2.min.js con esta es suficiente para usar jquery las demas libreria como vsdoc.js es para el intellisense que veremos luego y el ui.min.js que explciare en otro momento por ahora centremosno en la min.js.
Debemos de copiar en nuestro proyecto de Visual Studio en nuestro caso usaremos la version 2010 y me referire a las misma VS2010.
Para utilizar la libreria en nuestro pagina web es bien sencillo, solo tenemos que arrastrar la libreria del Solution Explorer hacia la etiqueta del codigo HTML de la pagina aspx, como se muestra en la siguiente grafica.
imagen(referencia)**
la linea que debemos agregar es:
La parte importante para determinar si hemos realizado todo lo anterior correctamente es colocando el uso de javascript para utilizar las funciones y ver que funciona.
donde document ready todo lo que este dentro de el se ejecutara cuando la pagina inicie, debemos de tomar en cuenta que lo anterior se coloca debajo de la linea donde colocamos en uso el jquery-1.7.2.min.js ver imagen (referencia).
usted debe tener su pagina aspx de la siguiente forma:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="demo.aspx.cs" Inherits="demo" %>
Al ejecutar su aplicacion web de VS2010 debe salir lo siguiente:
es algo simple pero es la base para iniciar con jquery y determinar que todo esta correctamente para ver otros puntos mas.
USANDO DOCUMENT.READY
En este punto veremos algo bien breve pero util ya que muchas veces necesitamos que un objeto textBox tenga el foco cuando inicie la pagina para esto invocamos el objeto desde el document.ready
$('#txtUsuario').focus();
donde el $ es para invocar la libreria de jquery y luego con el signo de # colocamos el nombre del objeto que deseamos usar entre comillas y luego el metodo que deseamos usar en este caso focus
al subir la pagina el puntero estara en este objeto
al subir la pagina el puntero estara en este objeto
lunes, 18 de junio de 2012
StimulSoft
Usando StimulSoft
Debemos instalar StimulSoft
1-Agregar las referencias de Stimulsoft en VS:
-Controls
-Desing
-Report
-Report.Design
-Report.Web
-Report. Helper
Si utilizamos Visual Studio 2008 debemos colocar lo siguiente en las paginas que utilizaremos el reporte:
y el control view dentro de la etiqueta form:
En nuestras paginas debemos poner en uso:
using Stimulsoft;
En el load de nuestra pagina colocamos el siguiente codigo:
StiReport rpt = new StiReport();
string ruta = @Server.MapPath("").ToString() + "\\recibo.mrt";
rpt.Load(ruta);
rpt.Compile();
rpt["codigo"] = "arial 10";//Esto es un parametro
if (Session["printer"].ToString() == "1")
{
rpt.Render();// para que pueda imprimir sin vista previa
rpt.Print();//imprime directamente al printer sin la opcion anterior no imprime
}
else
{
StiWebViewer1.Report = rpt;//con esto lo visualiza en la pagina
}
Impresion de recibos en la web
Uno de los problemas que mas dolor de cabeza nos presenta es la impresion de recibos o volantes en paginas web y con stimulsoft y algunos tips en el explorer logramos realizarlo.
En el explorer en la opcion de printer setup
Suscribirse a:
Entradas (Atom)












