2009-10-14 4 views

Répondre

1

Pas directement. Votre service Windows s'exécute en tant que processus distinct du pool d'applications dans lequel votre application Web s'exécute. Vous devrez utiliser une forme dans la communication inter-processus. Vous pouvez également envisager la possibilité de devoir éventuellement déployer le service Windows sur un serveur différent de votre application Web.

Vous pouvez exposer un service Web à partir de votre application Web que votre service appelle pour accéder/mettre à jour les données mises en cache comme indiqué. Vous pouvez également utiliser SQL Server pour stocker les données et SQL Notification Services pour avertir le service Windows que les données ont été modifiées. Cela vous éviterait d'avoir à interroger en permanence un service Web à partir de votre service Windows. Une autre option consiste à exposer un point de terminaison WCF à partir de votre service Windows que vous pouvez invoquer à partir de votre application Web pour transmettre les données.

Le choix d'un modèle dépend en fait de vos besoins, en particulier de la fin de la communication qui déclenchera les mises à jour.

0

L'accès au cache d'exécution ASP.Net requiert l'accès au processus w3wp. Je ne suis pas certain des restrictions dans le marshaling inter-processus des objets spécifiques au processus w3wp. En fonction de ce dont vous avez besoin lorsque vous «traitez» vos entrées de cache, pensez à ajouter un simple service Web à votre site Web et protégez-le avec des informations d'identification. Ensuite, vous pouvez accéder aux objets de cache en arrière-plan de vos appels de service et agir sur ceux-ci au nom de votre service Windows.

1

Pourquoi ne pas jeter un coup d'œil à memcached for .NET? Il s'agit d'un système de mise en cache distribué, auquel votre site Web et votre service Windows peuvent faire appel. Il y a un exemple ici sur CodeProject.

+0

Je voudrais aller de cette façon. Utilisez memcached.net ou le projet Velocity de Microsoft si vous êtes plus à l'aise avec le logiciel MS. – ConsultUtah

Questions connexes