C# Comment initialiser WebService
Est-il une possibilité d'initialiser un WebService.
Je suis à la recherche d'une méthode qui ne fonctionne que lors du premier appel à un WebService. Est-il quelque chose comme ça .Net ?
Voulez-vous dire la première fois qu'un "client" appelle le Service Web à l'intérieur d'une session, la première fois que le service web est jamais appelé, ou la première fois qu'elle est appelée depuis IIS dernier recyclé/a déclenché l'Application de la Piscine?
OriginalL'auteur Darqer | 2009-08-25
Vous devez vous connecter pour publier un commentaire.
À la suite de mon commentaire sur votre question....
Si vous avez besoin d' "initialisation" la première fois qu'un client se connecte au Service Web:
Avoir un "Initialiser" une méthode qui retourne un jeton, tel un Guid, qui est ensuite nécessaire sur tous les appels à l'actuel "fait le travail" méthode de votre service web. Vous pouvez faire en sorte que, pour que le service client est toujours initialisée.
Si vous avez besoin d'elle la première fois que le service web est jamais appelé:
Ajouter un peu de code à votre service, comme une méthode privée, qui est appelé à la tête de chaque méthode publique. À l'intérieur, il vérifie l'existence de quelque chose, comme une entrée de registre, fichier, enregistrement de base de données ou d'autres persistant de la valeur. S'il n'existe pas, effectuez votre initialisation, puis de créer le "quelque chose".
Si vous en avez besoin sur le premier appel depuis IIS dernier recyclé/a déclenché l'Application de la Piscine:
Avoir un constructeur statique de la classe de sorte que quand il est instanciée la première fois que le constructeur statique s'exécute et réalise vos initialisation.
OriginalL'auteur Rob
Si vous essayez d'initialiser une ressource qui est utilisée par le service web et vous ne voulez initialiser une fois par application, vous pouvez utiliser l'événement Application_Start sur le Global.asax. Être conscient que les services internet (IIS) recyclage de l'application de la piscine, lorsque l'application de la piscine est de manger trop de ressources.
Si vous avez besoin d'initialiser le niveau de la classe de la variable, vous pouvez le faire dans le constructeur de web service. Je déconseille, parce que votre service web doit être apatrides. Si vous avez besoin d'initialiser une ressource statique une fois dans votre service web, vous pouvez utiliser un constructeur statique.
Si vous avez besoin d'une seule ressource est disponible une fois tout au long de votre demande, je vous recommande de regarder dans le pattern singleton.
OriginalL'auteur sbeardsley
Lorsque vous créez un WebService application dans Visual Studio, par défaut, une classe nommée "Service" sera ajouté. Quand vous regardez le code de cette classe (de Service.cs), vous verrez un constructeur ("le Service public de()") avec deux commenté les lignes. Vous pouvez mettre votre code d'initialisation ici, ou appelez une méthode privée que vous avez défini à l'intérieur de la classe de Service. Ce constructeur sera appelé que lorsque votre client fait son premier appel à toute WebMethod dans la classe de Service.
OriginalL'auteur MusiGenesis
Bien, il n'y a pas d'équivalent à l'J2EE initialisation si c'est ce que vous êtes après... mais à chaque application web est hébergé dans un domaine d'application. Chaque maintenant et puis, une demande peut être recyclé et un nouveau domaine d'application peut être créé...
OriginalL'auteur Robban
Vous pouvez utiliser Application_Start mondiale.asax, il sera exécuté une fois si un webservice à l'intérieur de votre projet est appelé
OriginalL'auteur Whuppa