Foro Oficial de C#

Despues de bastante trabajo y preguntas en este foro, estoy culminando mi primer sitio web con C# asp.net , ahora me enfrento a un inconveniente al publicar el sitio web en un hosting windows.
Al ejecutar el sitio el localhost, funciona sin problemas, 0 warnings todo al pelo, selecciono la opcion publicar sitio web, selecciono la carpeta y este se genera, esa carpeta generada la subo al hosting, al tratar de entrar al sitio me aparece el siguiente mensaje de error :

PHP:
Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.


Parser Error Message: Could not load file or assembly 'DevExpress.Xpo.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a' or one of its dependencies. The system cannot find the file specified.


Source Error:



Line 31:                 <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

Line 32:                 <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

Line 33:                 <add assembly="DevExpress.Xpo.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=B88D1754D700E49A"/>

Line 34:                 <add assembly="DevExpress.Data.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=B88D1754D700E49A"/>

Line 35:                 <add assembly="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

 


Source File: C:\inetpub\vhosts\eaay.gov.co\subdomains\clienteweb\httpdocs\web.config    Line: 33


Assembly Load Trace: The following information can be helpful to determine why the assembly 'DevExpress.Xpo.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a' could not be loaded.



WRN: Assembly binding logging is turned OFF.

To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.

Note: There is some performance penalty associated with assembly bind failure logging.

To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
el ensamblado que no carga, pertenece a una libreria developer express, segun he googleado, he tomado esos dll y los he insertado en la carpeta bin, del sitio, el problema persiste
ahora he generado un sencillo proyecto asp y con objetos propios del .net, lo he subido y funciona.
he corroborado los valores del token.
he reinstalado las librerias dev express.

Agradezco de antemano cualquier sugerencia al respecto.

TaaDow
 
Despues de bastante trabajo y preguntas en este foro, estoy culminando mi primer sitio web con C# asp.net , ahora me enfrento a un inconveniente al publicar el sitio web en un hosting windows.
Al ejecutar el sitio el localhost, funciona sin problemas, 0 warnings todo al pelo, selecciono la opcion publicar sitio web, selecciono la carpeta y este se genera, esa carpeta generada la subo al hosting, al tratar de entrar al sitio me aparece el siguiente mensaje de error :

PHP:
Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.


Parser Error Message: Could not load file or assembly 'DevExpress.Xpo.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a' or one of its dependencies. The system cannot find the file specified.


Source Error:



Line 31:                 <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

Line 32:                 <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

Line 33:                 <add assembly="DevExpress.Xpo.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=B88D1754D700E49A"/>

Line 34:                 <add assembly="DevExpress.Data.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=B88D1754D700E49A"/>

Line 35:                 <add assembly="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

 


Source File: C:\inetpub\vhosts\eaay.gov.co\subdomains\clienteweb\httpdocs\web.config    Line: 33


Assembly Load Trace: The following information can be helpful to determine why the assembly 'DevExpress.Xpo.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a' could not be loaded.



WRN: Assembly binding logging is turned OFF.

To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.

Note: There is some performance penalty associated with assembly bind failure logging.

To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
el ensamblado que no carga, pertenece a una libreria developer express, segun he googleado, he tomado esos dll y los he insertado en la carpeta bin, del sitio, el problema persiste
ahora he generado un sencillo proyecto asp y con objetos propios del .net, lo he subido y funciona.
he corroborado los valores del token.
he reinstalado las librerias dev express.

Agradezco de antemano cualquier sugerencia al respecto.

TaaDow

He solucionado el problema, ademas de la dll que no puede cargar el el log, es necesario subir cada dll que tiene la libreria asociada (devexpress2009 en este caso) al objeto utilizado en codigo,
ej
si uso una grilla, panel, boton --> subir dll de grilla, panel,boton a la carpeta bin del sitio web. asi por cada objeto de la libreria usado.
 
Man lo que pasa es que este tipo de aplicaciones trabajan a muy bajo nivel, como bien es sabido en Net framework trabaja sobre el CLR, el cual compila el codigo a MSIL que el lenguaje intermedio que ejecuta finalmente el Framework y finalmente el hardware de la computadora (llamese memoria, disco duro, etc) como ves esto le implica varios pasos.

Si piensas desarollar una aplicacion de este tipo basado en .NET debes usar es Visual C++ el cual a traves de las MFC que son clases que manejan la API de windows, puedes manejar muy rapidamente los dispositivos de video, mapeo de pixeles entre otras cosas sin hacer los pasos que se mencionan arriba de convercion a MSIL ya que aplicaciones basadas en MFC no requieren es este paso sino que trabajan sobre el hardware directamente......un ejemplo de este tipo de emuladores basados en MFC es el Project64 el cual es hecho bajo Visual C++.

http://en.wikipedia.org/wiki/Microsoft_Foundation_Class

Espero que te quede claro esto... y suerte amigo =)

no tiene nada que ver lo uno con lo otro.

para el emulador necesitas incialmente : C++ y assembler
y como desde luego es un emulador que utilizara la tarjeta de video lo mas seguro es que necesites aprender DirectX y desde luego aprender Shaders HLSL.


Recomendacion: no te metas al emulador sin dominar los tres anteriores... de pronto te peudes saltar HLSL... pero nada más.

saludos,



Mi instinto, siempre me dijo, que todo en esta vida, es posible:
http://www.virtualnes.com/index.html

Bajo Java, ahora bien, ¿alguien quiere explicarme eso por favor?

hasta regalan el codigo fuente en JAVA
http://www.openemulation.com/apps/vnes/download.html
 
Hola que tal, esta es mi primera duda y espero y me puedan ayudar. Veran estoy realizando un pequeño programa en c# conectado a sql server, el caso es que yo quiero ingresar un num entero(que es el id en la tabla) y con codigo buscarlo dentro de la bd y que me devuelva su informacion (nombre, dir, etc). En si se como hacer la coneccion, pero estoy perdido por que no se si la busqueda se hace desde c# o si se hace desde el sql server o como? espero y me puedan decir como hacerlo o al menos indicarme que direccion seguir para hacer mi busqueda de informacion. pues bueno eso es todo y de antemano gracias por sus sugerencias :D
 
Hola que tal, esta es mi primera duda y espero y me puedan ayudar. Veran estoy realizando un pequeño programa en c# conectado a sql server, el caso es que yo quiero ingresar un num entero(que es el id en la tabla) y con codigo buscarlo dentro de la bd y que me devuelva su informacion (nombre, dir, etc). En si se como hacer la coneccion, pero estoy perdido por que no se si la busqueda se hace desde c# o si se hace desde el sql server o como? espero y me puedan decir como hacerlo o al menos indicarme que direccion seguir para hacer mi busqueda de informacion. pues bueno eso es todo y de antemano gracias por sus sugerencias :D

Se puede hacer de ambas formas, pero...

Depende como tengas tu programa diseñado, al parecer la opcion correcta es colocar el ID y hacer el query "select [campos] from [tabla] where [ID] = @parametro" y que ahi te traiga los datos.

Se puede hacer consultando al DataSet en caso de que ya hallas traido un set o un grupo de datos y esten en la memoria RAM, en ese caso se consulta al DataSet en vez de volver a la base de datos.

Espero poder haber ayudado
 
Se puede hacer de ambas formas, pero...

Depende como tengas tu programa diseñado, al parecer la opcion correcta es colocar el ID y hacer el query "select [campos] from [tabla] where [ID] = @parametro" y que ahi te traiga los datos.

Se puede hacer consultando al DataSet en caso de que ya hallas traido un set o un grupo de datos y esten en la memoria RAM, en ese caso se consulta al DataSet en vez de volver a la base de datos.

Espero poder haber ayudado



oooo gracias por la ayuda tenias razon.y bueno ya abusando de tu confianza me podrias dar alguna sugerencia de como podria mostrar los datos en pantalla dentro de una tabla? para que se vea ordenado.
 
oooo gracias por la ayuda tenias razon.y bueno ya abusando de tu confianza me podrias dar alguna sugerencia de como podria mostrar los datos en pantalla dentro de una tabla? para que se vea ordenado.

Es que ahi es de donde depende el diseño de tu aplicacion :p

Puedes hacerlo con un DataGridView o puedes hacerlo con TextBoxes

mirate esta pagina:
http://www.homeandlearn.co.uk/csharp/csharp.html
 
Qué tal.
Fíjense que tengo un problema y se trata de que quiero que en tiempo de ejecución al ir escribiendo sobre un texbox éste separe miles, cientos, etc. y las dos decimales algo así como 1234567890.00 = 1,234,567,789.00 y despues como enviarselos pero solo la cadena con el separador de decimales algo así como esto: 1234567890.00, estoy trabajando con Oracle 11g y C# en Visual Studio 2008.
Lo he intentado en el evento text_changed pero no me funciona algo así había hecho:
txtPrecio.Text = string.Format("###,###,###,00", pRECIODataGridViewTextBoxColumn); entre otras formas de hacerlo pero sin éxito
wacko.gif

Y también algo como esto:
double precio = 0;
txtPrecio.Text = precio.ToString("C");
pero en el textbox me pone : $0.00 y no puedo escribir nada..
biggrin.gif
no sé a que se debe

Espero y me puedan ayudar
Gracias !
 
Qué tal.
Fíjense que tengo un problema y se trata de que quiero que en tiempo de ejecución al ir escribiendo sobre un texbox éste separe miles, cientos, etc. y las dos decimales algo así como 1234567890.00 = 1,234,567,789.00 y despues como enviarselos pero solo la cadena con el separador de decimales algo así como esto: 1234567890.00, estoy trabajando con Oracle 11g y C# en Visual Studio 2008.
Lo he intentado en el evento text_changed pero no me funciona algo así había hecho:
txtPrecio.Text = string.Format("###,###,###,00", pRECIODataGridViewTextBoxColumn); entre otras formas de hacerlo pero sin éxito
wacko.gif

Y también algo como esto:
double precio = 0;
txtPrecio.Text = precio.ToString("C");
pero en el textbox me pone : $0.00 y no puedo escribir nada..
biggrin.gif
no sé a que se debe

Espero y me puedan ayudar
Gracias !

Asi se puede, pero debes de pasarle el control a string.format para que pueda formatear la cadena y luego asignarsela as si misma... eso es un metodo recursivo.... pero creo que hay otras maneras y no las recuerdo ahora mismo....


SuerteX :)
 
Asi se puede, pero debes de pasarle el control a string.format para que pueda formatear la cadena y luego asignarsela as si misma... eso es un metodo recursivo.... pero creo que hay otras maneras y no las recuerdo ahora mismo....


SuerteX :)

Oye gracias por contestar fíjate que ahora intenté con:
txtPrecio.Text = string.Format("{0:#,###,###,###.##}");
y
txtPrecio.Text = string.Format("{0:#,###,###,###.##}", convert.ToDouble(txtprecio.Text));

y al ingresar datos lo que hace es invertir lo que meto al textbox algo así como:
123 <-- hasta aquí todo bien, pero a partir de la primera coma, regresa el puntero al inicio y continúa así: 561,234 y elque sigue: 895,612,347 y el que sigue: 8,956,123,479 :confused::confused: ya si le doy borrar me da un error de excepción :muerto:
Gracias por responder espero y me ayuden con esto.
Otra cosa alguien sabe como hacer para que si ya hicieron click en un botón (en este caso una imágen que he puesto para que abran un datagridview) ya no se pueda hacer click de nuevo porque ahora pueden abrir el grid n veces según pulsen el botón.
gracias !
 
Oye gracias por contestar fíjate que ahora intenté con:
txtPrecio.Text = string.Format("{0:#,###,###,###.##}");
y
txtPrecio.Text = string.Format("{0:#,###,###,###.##}", convert.ToDouble(txtprecio.Text));

y al ingresar datos lo que hace es invertir lo que meto al textbox algo así como:
123 <-- hasta aquí todo bien, pero a partir de la primera coma, regresa el puntero al inicio y continúa así: 561,234 y elque sigue: 895,612,347 y el que sigue: 8,956,123,479 :confused::confused: ya si le doy borrar me da un error de excepción :muerto:
Gracias por responder espero y me ayuden con esto.
Otra cosa alguien sabe como hacer para que si ya hicieron click en un botón (en este caso una imágen que he puesto para que abran un datagridview) ya no se pueda hacer click de nuevo porque ahora pueden abrir el grid n veces según pulsen el botón.
gracias !

Mire un ejemplo ;) http://msdn.microsoft.com/es-es/library/fht0f5be(VS.80).aspx


SuerteX :)
 
C# – Consumir un XML o un RSS alojado en la web de manera sencilla

Como de costumbre, les comparto mi más reciente artículo.

Este artículo es una copiar cruzada del artículo original publicado en mi blog:

C# – Consumir un XML o un RSS alojado en la web de manera sencilla
--------------

Muchas veces necesitamos leer contenidos RSS o XML desde la web, y lo necesitamos de manera rápida, ligera y fácil de usar.

Buscando a través de la internet se pueden conseguir varias soluciones de varios sabores diferentes.

En este artículo enseñare a crear un componente capaz de leer cualquier XML que se encuentre en la web con el fin de acceder a su información de manera sencilla y de paso explicaré que hacer cuando ese XML sea un RSS para sacarle mayor provecho.


El problema lo podemos fraccionar en 2 partes
  1. Obtener el XML o RSS de la web
  2. Acceder a esa información por medio de un componente conocido, un Dataset

OBTENER EL XML O RSS DE LA WEB

Para lograr este objetivo se hace necesario hacer uso de un objeto HttpWebRequest para crear un Request a la URL donde se encuentra alojado el XML y luego capturar la respuesta (Response).

PHP:
public static DataSet GetXMLDataSet(string URL)
{
    HttpWebRequest xmlRequest = (HttpWebRequest)WebRequest.Create(URL);
    WebResponse xmlResponse = xmlRequest.GetResponse();  
}

ACCEDER A ESA INFORMACION POR MEDIO DE UN COMPONENTE CONOCIDO, UN DATASET

Aunque ya tenemos el WebResponse este de por si no nos permite un acceso ‘multiuso’ a la información que contiene, pero ya que sabemos que nuestro WebResponse contiene información XML podemos aprovecharnos de eso para crear un Dataset. El Dataset se puede crear a partir de un Stream así que haremos uso del método GetResponseStream para obtenerlo, creamos un DataSet vacio y luego lo llenamos con ReadXml.
PHP:
public static DataSet GetXMLDataSet2(string URL)
{
    HttpWebRequest xmlRequest = (HttpWebRequest)WebRequest.Create(URL);
    WebResponse xmlResponse = xmlRequest.GetResponse();
    Stream responseStream = xmlResponse.GetResponseStream();
 
    DataSet xmlData = new DataSet();
    xmlData.ReadXml(responseStream);
    return xmlData;
}

Reduciendo un poco el código queda:
PHP:
public static DataSet GetXMLDataSet(string URL)
{
    HttpWebRequest xmlRequest = (HttpWebRequest)WebRequest.Create(URL);
    DataSet xmlData = new DataSet();
    xmlData.ReadXml(xmlRequest.GetResponse().GetResponseStream());
    return xmlData;
}


Ya estuvo, ahora es tiempo de sacarle provecho al DataSet.
 
C# - 10 pasos para Consumir el RSS de Top news de "The Washington Post" en un Toolbar para IE

Esta es una copia del artículo original publicado en mi blog:

C# – 10 pasos para Consumir el RSS de Top news de “The Washington Post” en un Toolbar para IE

------------------

Hola, hace unos meses escribí este artículo acerca de esta herramienta: “Add-In Express for IE” que facilita enormemente la creación add-ons para Internet Explorer : C# – Creando Toolbars, Botones y Menús para Internet Explorer

Llegué a esta herramienta gracias a un proyecto importante que esta desarrollando Microsoft en el país, me han contactado para llevarlo a cabo y de paso me contaron que utilizarían esta herramienta para llevar a cabo este proyecto.

Como lo mencione anteriormente al comienzo creí que sería un proyecto realizado con IE SDK y COM pero apenas me confirmaron de la existencia de esta herramienta me puse en la labor de documentarme a través de internet.

Construir un Addon para IE es algo bastante interesante y en esencia sencillo de realizar haciendo uso de “Add-In Express for IE”.
Me detuve por unos instantes a pensar que cosas se pueden hacer con esta herramienta y me di cuenta que para sacarle máximo provecho es conveniente idear componentes dinámicos que permitan al usuario interactuar de manera directa con el contenido desplegado en el toolbar, sidebar o botón.

Dentro de los miles de diferentes alternativas que puedan existir para crear componentes dinámicos he optado por tratar 2 temas:
Consumo de RSS para despliegue de información
Crear una caja de búsqueda

En este artículo enseñaré como crear un componente Add-In Express for IE que consumiendo datos de un RSS se comporte de manera dinámica.

Creare un componente que lea el RSS de Top News desde The Washington Post y despliegue esos datos como un texto con híper vínculo. Ese componente lo colocare en un toolbar para IE.


CONSUMIR EL RSS DE TOP NEWS

Esta tarea la puedo realizar haciendo uso de este sencillo método que he creado:
C# – Consumir un XML o un RSS alojado en la web de manera sencilla

Simplemente llamaré al método pasándole la URL del RSS de Top News: http://www.washingtonpost.com/wp-dyn/rss/linkset/2005/03/24/LI2005032400102.xml

PASO 1 – CREAR EL PROYECTO
imagesu.png


PASO 2 – CREAR UNA CLASE QUE ALOJE EL METODO PARA CONSUMIR EL RSS

PHP:
using System.Net;
using System.Data;
 
/// <summary>Provee funcionalidades de conexión a una URL que publica un archivo XML</summary>
public static class RemoteXML
{
    /// <summary>
    /// Se conecta a una URL que representa un archivo XML y convierte la información en un DataSet
    /// </summary>
    ///<param name="URL" />URL del xml publicado en la web</param>
    /// <returns>Dataset que representa los datos XML</returns>
    public static DataSet GetXMLDataSet(string URL)
    {
        HttpWebRequest xmlRequest = (HttpWebRequest)WebRequest.Create(URL);
        DataSet xmlData = new DataSet();
        xmlData.ReadXml(xmlRequest.GetResponse().GetResponseStream());
        return xmlData;
    }
}

PASO 3 – CREAR UN TOOLBAR
Esto es sencillísimo gracias a “Add-In Express for IE”, tan solo:
clic derecho sobre el proyecto
adicionar nuevo ítem
y…

image1qj.png

PASO 4 – CREAR UN LABEL PARA MOSTRAR EL CONTENIDO DEL RSS Y HACER LINK

El toolbar como tal es un Panel vacio así que arrastro allí un nuevo label, la mejor parte es que los controles para adicionar en el toolbar son los mismos controles de Windows Forms ( he colocado colores distintos para distinguir los controles ).
image2hb.png


PASO 5 – CONSUMIR EL RSS Y TOMAR LA PRIMERA NOTICIA

Ahora utilizando el método del paso 2 tomare el RSS y hare uso de la primera noticia. Para tal fin he creado una estructura RSSEntryInfo:
PHP:
/// <summary>Representa información de una entrada RSS</summary>
public struct RSSEntryInfo
{
   public string title, url;
}

Seguidamente creo el siguiente método dentro de la clase RemoteXML:
PHP:
/// <summary>
/// Devuelve la última entrada de un RSS
/// </summary>
/// <returns></returns>
private static RSSEntryInfo GetLatestRSSEntry(string RSSUrl)
{
    RSSEntryInfo ni = new RSSEntryInfo();
 
    try
    {
        using (var datos = RemoteXML.GetXMLDataSet(RSSUrl))
        {
            foreach (DataRow row in datos.Tables[&quot;item&quot;].Select())
            {
                ni.title = (string)row[&quot;title&quot;];
                try
                {
                    ni.url = (string)row[&quot;link&quot;];
                }
                catch
                {
                    ni.url = ((Uri)row[&quot;link&quot;]).AbsoluteUri;
                }
                break;
            }
        }
    }
    catch
    {
        throw;
    }
 
    return ni;
}

Es IMPORTANTE tener cuenta que si la implementación de GetXMLDataSet incluye la carga del XSD de RSS 2.0 entonces el URL vendrá en formato de objeto Uri. Ver "Nota Adicional" al final de el artículo:

C# – Consumir un XML o un RSS alojado en la web de manera sencilla

PASO 6 – CONFIGURAR EL LABEL CON LA INFORMACION OBTENIDA DEL RSS

Ahora hay que configurar el label con la información, para ello he creado un método lblLastTopNewInfo dentro del código del toolbar, y he creado una variable string para almacenar la URL de la última noticia. Acá utilizo el RSS de top news de The Washington Post: http://www.washingtonpost.com/wp-dyn/rss/linkset/2005/03/24/LI2005032400102.xml

PHP:
/// <summary>URL donde esta la noticia contenida en el label</summary>
string ltnUrl;
/// <summary>Trae la última noticia de un RSS y establece la información necesaria en el label</summary>
private void lblLastTopNewInfo()
{
    var ltnInfo = RemoteXML.GetLatestRSSEntry(&quot;http://www.washingtonpost.com/wp-dyn/rss/linkset/2005/03/24/LI2005032400102.xml&quot;);
    lblLastTopNew.Text = ltnInfo.title;
    ltnUrl = ltnInfo.url;
}

PASO 7 – PROGRAMAR EL EVENTO CLIC DEL LABEL PARA HACER QUE IE NAVEGUE A LA URL DE LA ULTIMA NOTICIA

Para poder hacer que IE navegue al URL de la última noticia hare uso de otra de las funcionalidades de “Add-In Express for IE”, cada objeto creado ( toolbar, bar, etc ) tiene dos referencias a IE una de ellas a un tipo object, y la otra al mismo tipo object pero accediéndolo como Interop.SHDocVw.WebBrowser, esto facilita enormemente trabajar con el browser, en cada objeto de “Add-In Express for IE” tenemos esta referencia en el campo IEApp.
Así queda el evento clic del label:

PHP:
/// <summary>
/// Hace que IE navegue al URL correspondiente
/// </summary>
///<param name="sender" /></param>
///<param name="e" /></param>
private void lblLastTopNew_Click(object sender, EventArgs e)
{
    object nullObject =null;
    this.IEApp.Navigate(ltnUrl, ref nullObject,
        ref nullObject, ref nullObject, ref nullObject);
}

PASO 8 – HACER QUE EL LABEL ARRANQUE CON LA INFORMACION DEL RSS

Para ello programo el evento OnConnect del toolbar, este evento se dispara cada vez que el Toolbar se integra con IE.

PHP:
/// <summary>
/// Configura el estado inicial del label
/// </summary>
///<param name="sender" /></param>
///<param name="threadId" /></param>
private void TWPToolbar_OnConnect(object sender, int threadId)
{
    lblLastTopNewInfo();
}

PASO 9 – HACER QUE CADA HORA SE REFRESQUE LA ULTIMA NOTICIA

Con un System.Timers.Timer establezco que cada 30 minutos se llame a lblLastTopNewInfo()

PHP:
/// <summary>Temporizados para refrescar la última noticia</summary>
System.Timers.Timer timerWpLn = new System.Timers.Timer();
 
/// <summary>
/// Configura el estado inicial del toolbar
/// </summary>
///<param name="sender" /></param>
///<param name="threadId" /></param>
private void TWPToolbar_OnConnect(object sender, int threadId)
{
    lblLastTopNewInfo();
    timerWpLn.Interval = 1000 * 60 * 30;
    timerWpLn.Elapsed += new System.Timers.ElapsedEventHandler(timerWpLn_Elapsed);
    timerWpLn.Enabled = true;
    timerWpLn.Start();
}
 
/// <summary>
/// Establece periodicamente los valores del label
/// que muestra la última noticia
/// </summary>
///<param name="sender" /></param>
///<param name="e" /></param>
void timerWpLn_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
    lblLastTopNewInfo();
}

Adicionalmente he coloreado el label de color azul, y he hecho que al pasar el mouse por encima del control el cursor del mouse cambie para mostrar que es un híper vínculo, esto en los eventos MouseEnter y MouseLeave.

PASO 10 – INTEGRAR, COMPILAR Y PROBAR EN IE

Esto es muy fácil, das doble clic sobre IEModule para abrir el panel del módulo, voy a las propiedades del módulo y entro donde dice toolbars :

image3ao.png

Allí agrego un nuevo toolbar y lo configuro como se ve en esta imagen:

image4h.png


compilo la solución, luego clic derecho en el proyecto y selecciono Register ADX Project,

image5gi.png

abro IE y listo! … ver video abajo.

 
Última edición por un moderador:
Ayuda con seguridad!!

Necesito su ayuda ya que me estoy volviendo loco por que no encuentro la solucion!!
Estoy haciendo una aplicacion en vs2008 para interactuar con una webcam.
Eso ya esta listo.
el problema es que cuando quiero ejecutarlo de manera default (sin darle full trust a la intranet del framework 2.0) me tira este error:
Me estoy volviendo loco hace unos dias
Necesito que funcione sin asignarle fulltrust.
Muchas graciass!!


Consulte el final de este mensaje para obtener más detalles sobre cómo invocar a la depuración
Just-In-Time (JIT) en lugar de a este cuadro de diálogo.

************** Texto de la excepción **************
System.Security.SecurityException: Ese ensamblado no permite llamadores de confianza parcial.
en ClassLibrary1.UserControl1.btnSelectDevice_Click(O bject sender, EventArgs e)
en System.Windows.Forms.Control.OnClick(EventArgs e)
en System.Windows.Forms.Button.OnClick(EventArgs e)
en System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
en System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
en System.Windows.Forms.Control.WndProc(Message& m)
en System.Windows.Forms.ButtonBase.WndProc(Message& m)
en System.Windows.Forms.Button.WndProc(Message& m)
en System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
en System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Acción que generó el error:
LinkDemand
La zona del ensamblado que generó el error era:
Intranet


************** Ensamblados cargados **************
mscorlib
Versión del ensamblado: 2.0.0.0
Versión Win32: 2.0.50727.3603 (GDR.050727-3600)
Código base: file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
System
Versión del ensamblado: 2.0.0.0
Versión Win32: 2.0.50727.3614 (GDR.050727-3600)
Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
WindowsControlLibrary3
Versión del ensamblado: 1.0.3825.21263
Versión Win32: N/D
Código base: http://localhost:5030/WindowsControlLibrary3.DLL
----------------------------------------
System.Windows.Forms
Versión del ensamblado: 2.0.0.0
Versión Win32: 2.0.50727.3053 (netfxsp.050727-3000)
Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Versión del ensamblado: 2.0.0.0
Versión Win32: 2.0.50727.3053 (netfxsp.050727-3000)
Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Accessibility
Versión del ensamblado: 2.0.0.0
Versión Win32: 2.0.50727.3053 (netfxsp.050727-3000)
Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
Microsoft.mshtml
Versión del ensamblado: 7.0.3300.0
Versión Win32: 7.0.3300.0
Código base: file:///C:/WINDOWS/assembly/GAC/Microsoft.mshtml/7.0.3300.0__b03f5f7f11d50a3a/Microsoft.mshtml.dll
----------------------------------------
WebCamLib
Versión del ensamblado: 1.0.0.0
Versión Win32: N/D
Código base: http://localhost:5030/WebCamLib.DLL
----------------------------------------
System.Windows.Forms.resources
Versión del ensamblado: 2.0.0.0
Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_es_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** Depuración JIT **************
Para habilitar la depuración Just In Time (JIT), el archivo de configuración de esta
aplicación o equipo (machine.config) debe tener el
valor jitDebugging establecido en la sección system.windows.forms.
La aplicación también se debe compilar con la depuración
habilitada

Por ejemplo:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

Cuando esté habilitada la depuración JIT, cualquier excepción no controlada
se enviará al depurador JIT registrado en el equipo
en lugar de controlarlo mediante el cuadro de diálogo.
 

Los últimos temas