Objetos Globales

10/08/2007 - 23:22 por Robert Dennis Acrota Umpire | Informe spam
Saludos a esta Comunidad
Tengo el siguiente caso:
Tengo una Aplicacion Web Service en C#
y todos los servicios llaman a componentes (dll en C#) los cuales necesitan
trabajar con parametros de mi aplicacion, estos parametros estan almacenados
en mi Base de Datos en una Tabla de Parametros.

Para trabajar con esto, hago lo siguiente:
Cada vez que se llama a un servicio - este llama al componente respectivo y
estos consultan a la base de datos los parametros que necesitan y realizan
los procesos propio para el Servicio. Por ello estoy consultando varias
veces a mi BD por parametros que en algunos casos cambian diariamente, otros
quincenalmente y otros en ciertas ocasiones.

Mi consulta es, si existe una forma de tener estos parametros ya cargados
para que esten disponibles cuando los necesite, y solo en caso se actualice
algun parametro en la base de datos, estos se actualicen sin necesidad de
reiniciar mi servicio

Existe alguna solucion para esto?
Gracias por sus comentarios

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
11/08/2007 - 15:38 | Informe spam
"Robert Dennis Acrota Umpire" wrote in
message news:
Saludos a esta Comunidad
Tengo el siguiente caso:
Tengo una Aplicacion Web Service en C#
y todos los servicios llaman a componentes (dll en C#) los cuales
necesitan trabajar con parametros de mi aplicacion, estos parametros estan
almacenados en mi Base de Datos en una Tabla de Parametros.

Para trabajar con esto, hago lo siguiente:
Cada vez que se llama a un servicio - este llama al componente respectivo
y estos consultan a la base de datos los parametros que necesitan y
realizan los procesos propio para el Servicio. Por ello estoy consultando
varias veces a mi BD por parametros que en algunos casos cambian
diariamente, otros quincenalmente y otros en ciertas ocasiones.

Mi consulta es, si existe una forma de tener estos parametros ya cargados
para que esten disponibles cuando los necesite, y solo en caso se
actualice algun parametro en la base de datos, estos se actualicen sin
necesidad de reiniciar mi servicio

Existe alguna solucion para esto?



Si es un Web Service, desde la dll puedes añadir una referencia a
System.Web, y a continuación usar en tu código HttpContext.Current.Cache. De
esta manera manejas desde la dll el Cache de la aplicación Web y puedes
guardar en él los parámetros. Puedes ponerle un SqlCacheDependency para que
el caché expire automáticamente si cambian los datos en la BD.
Respuesta Responder a este mensaje
#2 Guillermo guille
11/08/2007 - 19:53 | Informe spam
Mi consulta es, si existe una forma de tener estos parametros ya cargados
para que esten disponibles cuando los necesite, y solo en caso se
actualice algun parametro en la base de datos, estos se actualicen sin
necesidad de reiniciar mi servicio




No se hasta que punto te será de utilidad, ya que cada vez que invocas a un
servicio Web (realmente a cada método del servicio Web, se crea el servicio
(el constructor se llama en cada llamada a un método del servicio)), por
tanto, la posible solución que sería la de hacer esas asignaciones en el
constructor o usar campos compartidos (estáticos) iniciables en el
constructor, pues... no serían de utilidad.

La otra posible solución es que todas las asignaciones las hagas en un
constructor estático (compartido), ya que ese sólo se ejecuta una vez, pero
los constructores de instancia, bueno... haz la prueba y te sorprenderás.

Todo esto "suponiendo" que los parámetros esos que comentas se los quieras
pasar al servicio Web.

Nos vemos
Guillermo

Microsoft MVP Visual Basic desde 1997
Tus consultas en los foros del Guille: http://foros.elguille.info/


"Robert Dennis Acrota Umpire" wrote in
message news:
Saludos a esta Comunidad
Tengo el siguiente caso:
Tengo una Aplicacion Web Service en C#
y todos los servicios llaman a componentes (dll en C#) los cuales
necesitan trabajar con parametros de mi aplicacion, estos parametros estan
almacenados en mi Base de Datos en una Tabla de Parametros.

Para trabajar con esto, hago lo siguiente:
Cada vez que se llama a un servicio - este llama al componente respectivo
y estos consultan a la base de datos los parametros que necesitan y
realizan los procesos propio para el Servicio. Por ello estoy consultando
varias veces a mi BD por parametros que en algunos casos cambian
diariamente, otros quincenalmente y otros en ciertas ocasiones.

Mi consulta es, si existe una forma de tener estos parametros ya cargados
para que esten disponibles cuando los necesite, y solo en caso se
actualice algun parametro en la base de datos, estos se actualicen sin
necesidad de reiniciar mi servicio

Existe alguna solucion para esto?
Gracias por sus comentarios


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida