Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: NetJava en 20 Marzo 2013, 17:10 pm



Título: [Solucionado].Net Global.asax no funciona
Publicado por: NetJava en 20 Marzo 2013, 17:10 pm
Buenas, tengo un problema con el fichero Global, la verdad esq estoy ya un poco desconcertado, aunq también es la primera vez que lo utilizo por lo que el problema puedo ser yo.

Problema 1: El contenido del fichero Global no se ejecuta.
Problema 2: Después de hacer pruebas con el problema 1, al ejecutar el proyecto me dice que no encuentra el fichero Global y me pone lo siguiente:

Código:
<%@ Application Codebehind="Global.asax.vb" Inherits="xxx.Global_asax" Language="vb" %>

La solución en este punto es quitar "Inherits="xxx.Global_asax"", tema resuelto para el Problema 2, pero sigue sin ejecutarse el contenido del arch Global.

Me he descargado varios proyectos donde se utiliza Global y funcionan correctamente, lo que me llevo a cambiar de "maceta" el contenido del proyecto, abrí un nuevo proyect, lo primero que hice fue crear el archivo Global y trasplante todo, lo ejecute y ZAS, ejecutaba el contenido del Global, volví a ejecutar y empecé de nuevo desde el Problema 1.

Todo esto ha pasado con el contenido del archivo Global que viene por defecto, yo lo único que quiero es controlar cuando la aplicación se cierra, cuando una variable de session finaliza xD, solo eso.

Nota: He probado modificando la etiqueta en todos sus puntos, la que he puesto es la que se crea por defecto al crear el archivo Global.

Cómo lo veis? Muchas gracias y un saludo.


Título: Re: .Net Global.asax no funciona
Publicado por: NetJava en 20 Marzo 2013, 20:44 pm
Buenas, pues nada, ahora ya no se genera error, pero el contenido de global no se ejecuta, vamos tan simple como poner un punto de interrupción y nada más ejecutarse la web debería parar, pero no hay manera.

He probado incluso a instanciar, pero nada xD La muerte


Título: Re: .Net Global.asax no funciona
Publicado por: NetJava en 21 Marzo 2013, 01:10 am
Buenas, no estoy seguro de que sea la solución al problema con el que comencé, he probado tantas cosas.

En definitiva, he probado con diferentes versiones de la 3 pasando por 3.5 y 4, convirtiendo el proyecto y tal, ningún cambio, estaba claro al probar otros ejemplos que lo que fallaba era el proyect.

Etiqueta por defecto al crear nuevo elemento:
Código:
<%--<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="index.aspx.vb" Inherits="xXx.index" %>--%>

Etiqueta que siempre pongo para evitar algunos problemas:
Código:
<%@ Page Language="vb" AutoEventWireup="true" CodeFile="index.aspx.vb" Inherits="index" Title="xXx" %>

Con la segunda etiqueta sucede que el compilador en el aspx.vb no reconoce los controles que has ido montando en el aspx, pero salvo eso, que te lo marca como error, el funcionamiento es correcto. Aun así al hacer el nuevo proyecto he cuidado que en todos los archivos viniese la etiqueta por defecto (la primera). Por supuesto dejo el Global intacto, de fabrica.

Pongo punto de interrupción en el Global y zas, se para, elimino la web y se para también. Vuelvo a repetir tal cual, si hacer nada en el código y los puntos de interrupción en el Global hacen su función.

Acabando, pongo el código en el Global, que lo que hace es instanciar un objeto que llama a una función a la cual se la pasa un parámetro que es una variable session, y el objeto = Nothing.

Ejecuto, ZAS: Ya no se para la aplicación en el archivo Global, cierro navegador y tampoco se para, vamos quiero decir, los dos puntos de interrupción que tengo puestos en la entra y la salida.

Elimino código y vuelvo a repetir, se para correctamente. Pues nada problema localizado, ahora a ver que hago con esa sección de código que se debía ejecutar en ese momento para decirle a la BD que el usuario se había ido xD
Un Saludo!!!