2010-07-30 3 views
1

J'ai un service Windows qui appelle une page sur notre site Web pour deux raisons: 1) pour maintenir le site vivant, et 2) pour exécuter une méthode de service Web qui vit également sur ce site . Sur page_Load, l'instance de service Web (SvcTaskRun) est codée pour exécuter la méthode RunTasks(), que j'ai actuellement définie pour envoyer un e-mail chaque fois qu'elle est appelée, mais exécutera ensuite une série de tâches automatisées.ASP.Net: exécution de code Keepalive

Sub page_load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load 

    Dim SvcTaskRun As New MyTaskRunSvc.TaskRunSvc 

    Dim TaskListComplete As String = SvcTaskRun.RunTasks 

End Sub 

En ce moment, je suis juste essayer de le faire fonctionner (envoyer l'e-mail) à chaque fois que mes page se charge keepalive. Mon journal IIS me dit que le service Windows obtient un code ststus de 200 chaque fois qu'il effectue un GET sur keepalive.aspx. Mais, le code de chargement de la page ne semble pas s'exécuter.

Question: Une idée de pourquoi cela ne fonctionne pas? Question: Comment puis-je instancier le débogage pendant que j'attends l'exécution de Page_Load? Jamais utilisé Attacher au processus ou quoi que ce soit avant, seulement débogué en utilisant F5/F11.

MERCI

Répondre

1

au cas où quelqu'un vient ici pour trouver une réponse, voici ce que je l'ai fait pour résoudre ce problème.

Apparemment, le site Web ne voulait pas appeler sa propre méthode Web à partir de son propre service Web. J'imagine que quelque chose n'allait pas avec les permissions ASPNET, mais comme la méthode RunTasks n'avait plus besoin d'être appelée depuis l'extérieur du site en raison des changements d'architecture, j'ai simplement déplacé les méthodes RunTasks dans une classe en tant qu'application web. et voilà, ça marche.

+0

Agréable à vous mis à jour votre propre question avec la réponse, pourriez-vous également accepter la réponse alors? :) – Younes

Questions connexes