Pourquoi ce constructeur statique n'est pas appelé?

Je suis de la création asp.net service web. J'ai une classe dont le constructeur statique n'est pas appelé quand j'essaie d'initialiser un objet de cette classe. Je ne suis pas en mesure de comprendre ce comportement. À l'intérieur de constructeur statique, je suis à la lecture de valeurs à partir du web.fichier de configuration.

Voici la partie de code :

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
    AppController extractor;

    public Service()
    {
        try
        {
            extractor = new AppController();
        }
        catch(Exception ex)
        {
            //I am not getting exception at this point.
        }
    }
}

public class AppController
{
    static string converterBatchFilePath = null;
    static string personalProfileOutputFolderPath = null;

    static AppController()
    {
        //reading some settings from web.config file
        try
        {
            converterBatchFilePath = ConfigurationManager.AppSettings["WordToTextConverterBatFilePath"];
        }
        catch(Exception ex)
        { //}
    }
    public AppController()
    {
        //do some initialization
    }
}

Pendant le débogage web service, j'ai remarqué que seul le constructeur est appelé et le contrôle ne va jamais à un constructeur statique.

Ce que quelqu'un sait pourquoi ce qui se passe?

Je suis avec VS 2008 Express edition et C#.

MODIFIER

En fait, ce AppController est basé console projet. J'ai ajouté ce projet comme une référence à l'intérieur du projet de service Web et ensuite de l'utiliser. Si j'utilise AppController en ligne de commande, il fonctionne très bien, mais sa ne fonctionne pas à partir de l'intérieur du projet de service web.

Je soupçonne vos diagnostics sont mal - pouvez-vous produire une courte mais complète du programme, ce qui démontre que cela se produise?
Très étrange. Êtes-vous sûr que ce n'est pas votre test qui est défectueux?
Fonctionne très bien pour moi, le constructeur statique est appelé dans un exemple simple. Si le comportement observable du constructeur de ne pas être considéré est quelque chose à voir avec la config, je suppose que l'erreur est avec la config des trucs à la place.
Il y a private static string type de variables dans la classe AppController. Cela se produit parce que j'ai initialisé ceux variable à null au moment de la déclaration?
Un truc que j'aimerais essayer est (temporairement) de mettre le contenu de static AppController dans un try...catch et de les afficher/enregistrer l'exception.

OriginalL'auteur Shekhar | 2011-09-13