2012-12-28 10 views
6

Posty wydają się być sprzeczne w opisie najlepszego sposobu uzyskania ustawień web.config w roli robota platformy Azure. Niektóre posty mówią, że musisz utworzyć plik WaIISHost.exe.config, ustawić wynik na zawsze, a następnie skopiować odpowiednie informacje o pliku web.config do tego pliku. Inne posty opisują tworzenie app.config zamiast WaIISHost.exe. Który jest poprawny?Plik WaIISHost.exe.config vs. App.config dla konfiguracji roli roboczej

Odpowiedz

5

Odpowiedź na to pytanie zależy od wersji używanego zestawu SDK. Przede wszystkim plik WaIISHost.exe.config ma zastosowanie tylko do ról internetowych (nie do ról roboczych). Role użytkowników używają i nadal używają app.config do swoich ustawień konfiguracyjnych. Zakładam tutaj, że próbujesz skonfigurować RoleEntryPoint Role sieciowej w ustawieniach konfiguracyjnych.

Teraz, dla ról internetowych: Jeśli używasz najnowszego zestawu SDK (1.8 w momencie pisania), okaże się, że tworzenie pliku WaIISHost.exe.config (i kopiowanie lokalne itp.) Już nie działa. Coś się zmieniło w najnowszym SDK i nie będzie już ciągnąć tych wartości. W przypadku wcześniejszych wersji pakietu SDK nadal jest tak, jak to robisz. W przypadku najnowszej wersji (i prawdopodobnie następnych wersji) 1.8 można utworzyć plik app.config. Kiedy to zrobisz, to faktycznie utworzy plik w twoim katalogu bin, jak "WebRoleProjectName.dll.config". NIE musisz samodzielnie tworzyć tego pliku i "Kopiuj lokalnie". Po prostu stwórz app.config, tak jak zwykle, a przekonasz się, że twój RoleEntryPoint w roli sieciowej może być tak dobrze skonfigurowany.

+2

Problem z aplikacją app.config w roli internetowej polega na tym, że obecnie nie jest wdrażany przez komendę UI publikującą ... – lnaie

+1

Tak, app.config nie będzie działał dla roli robota sieciowego, jeśli zostanie wdrożony przez Visual Studio UI, ale jeśli nazwa pliku konfiguracyjnego: ProjectName.dll.config i ustawić go, aby zawsze kopiować, to działa. Właśnie miałem ten sam problem. – sjkp

+0

Podczas kompilacji plik app.config został zmieniony na .dll.config i został przeniesiony bezpośrednio do folderu bin. Wszystko, co znajduje się w folderze bin, jest pakowane i wdrażane dla ról internetowych. Czy na pewno masz app.config w katalogu głównym i zaznaczyłeś katalog bin po kompilacji? Działa dobrze dla mnie. – dunnry

2

W poprzednim numerze SO post zasugerowałem, że będziesz musiał poświęcić trochę czasu na zrozumienie zarówno witryn Windows Azure, jak i usług Cloud w usłudze Windows Azure podczas mieszania razem.

Tak jak powyżej, łączysz role internetowe i robocze. WaIISHost.exe jest procesem hosta ról sieciowych Windows Azure odpowiedzialnym za ładowanie i uruchamianie biblioteki DLL w sieci. Ten proces nie ma nic wspólnego z rolą Worker, ponieważ nie istnieje nawet w roli Worker Windows Azure Worker. Ten proces będzie dostępny tylko dla ról internetowych. Z tego powodu twoje pytanie powyżej "WaIISHost.exe.config vs. app.config dla konfiguracji roli pracownika" nie ma znaczenia.

Konfiguracja App.config jest używana zarówno dla roli sieciowej, jak i dla roli pracownika, jednak web.config jest używany tylko w aplikacji internetowej. Więc jeśli chcesz skonfigurować Role tylko możesz użyć app.config (zarówno z rolą WWW jak i rolą pracownika), jednak w przypadku konfiguracji strony możesz użyć web.config.

JEŚLI po prostu piszesz, jaki jest twój ostateczny cel w prostym słowie, na pewno otrzymasz dokładną pomoc i sugestię, jak to zrobić.

+0

Dziękujemy! Doceniam twoją pomoc. Oto mój cel ... Mam działającą aplikację MVC. Kontroler w tej aplikacji MVC wywołuje punkt końcowy usługi WWW (punkt końcowy usługi NIE na platformie Azure - jest hostowany w innym miejscu). Kiedy uruchamiam aplikację MVC w trybie debugowania lokalnie, aplikacja działa poprawnie. Kiedy pchnę aplikację MVC na Azure (nawiasem mówiąc), wypróbowałem zarówno stronę internetową i usługę chmurową Azure, aplikacja NIE działa. W szczególności, w kontrolerze mogę skomentować wywołanie usługi w kontrolerze i wszystko działa dobrze, więc jestem przekonany, że informacje o konfiguracji punktu końcowego usługi nie są w jakiś sposób publikowane. – goldfinger

Powiązane problemy