2013-08-08 12 views
11

The MSDN documentation nie wyjaśnia, jak, kiedy i dlaczego ta wartość jest ustawiona na wartość true.W programie ASP.NET, co decyduje o wartości HostingEnvironment.IsDevelopmentEnvironment?

Ustawienie <configuration debug="false" /> w web.config nie ustawia właściwości na false, ani nie ustawia <deployment retail="true" /> w pliku machine.config.

Używam strony testowej z Visual Studio 2012 na IIS Express, nie mam zainstalowanego IIS "właściwego".

Edytuj: Po przejrzeniu odpowiedzi Oscara i przeprowadzeniu dalszych badań wydaje się, że ustawienie <deployment retail="true" /> powinno zostać przesłonięte, więc prawdopodobnie nie ustawiłem go w pliku machine.config właściwej ramki, gdy zadałem to pytanie.

Odpowiedz

7

dekompilowana kod obiektu jest następująca:

public static bool IsDevelopmentEnvironment 
{ 
    get 
    { 
     return ((AppDomain.CurrentDomain.GetData(".devEnvironment") as bool?) == true); 
    } 
} 

Ale nie mogłem fin gdzie ta wartość jest ustawiona .. :-(

+7

Ciekawy, znalazłem ten [demontaż systemu. Web] (http://dotnetinside.com/framework/v4.0.30319/System.Web/ApplicationManager), istnieje metoda 'ApplicationManager.EnvironmentInfo.GetWasLaunchedFromDevelopmentEnvironment()'. Analizuje zmienną środowiskową "DEV_ENVIRONMENT", jeśli jest ustawiona na 1, wtedy ustawienie jest prawdziwe. –

Powiązane problemy