2009-11-02 5 views
0

Pourquoi quelque chose comme suivre n'est pas autorisé. Je veux dire pourquoi la méthode suivante ne sera pas exposée dans le service Web.Pourquoi les services Web n'autorisent pas les méthodes statiques?

[WebMethod] 

public static string Foo() 

{ 

    return "bar"; 

} 

Il sera grand si vous pouvez me fournir une réponse spécifique de haut niveau non linguistique plutôt que quelque chose comme « objets proxy ne peuvent pas appeler des méthodes statiques ».

Répondre

2

Le serveur Web peut traiter simultanément des demandes pour votre service Web avec plusieurs instances. Ceux-ci pourraient être divisés en plusieurs processus, de sorte que tout type d'état partagé dans la mémoire ne serait pas souhaitable. Bien que ce ne soit pas un argument fort, cela pourrait expliquer pourquoi les concepteurs du framework n'ont pas voulu encourager la pensée de ces méthodes comme statiques.

+0

J'achète votre argument partiellement. Les variables statiques sont partagées entre les objets dans un processus d'installation. Si vous générez 2 processus les données statiques ne sont pas vraiment partagées n'est-ce pas? –

Questions connexes