Pracuję nad implementacją niezawodnego interfejsu Azure Service Fabric Reliable Actor. Dowolny pomysł/link gdzie mogę zapisać wartość konfiguracji (np. Ciąg połączenia DB) i jak uzyskać dostęp do tego w kodzie.Gdzie przechowywać wartości konfiguracyjne w aplikacji usługi Azure Service Fabric
Odpowiedz
Aplikacja Service Fabric składa się z pakietu kodu, pakietu konfiguracyjnego i danych (https://azure.microsoft.com/en-gb/documentation/articles/service-fabric-application-model/).
Możesz użyć pakietu konfiguracyjnego do przechowywania i pobierania dowolnych par klucz-wartość, których potrzebujesz, np. ciąg połączenia. Aby uzyskać więcej informacji, zapoznaj się z artykułem https://azure.microsoft.com/en-us/documentation/articles/service-fabric-manage-multiple-environment-app-configuration/.
Można dodać wiele plików ApplicationParameters. Po prostu skopiuj i wklej to samo z Cloud.Xml i używaj do wielu konfiguracji środowiska.
kroki, aby dokonać niezbędnych zmian
Wartości podane w settings.xml muszą być zastępowane w ApplicationManifest.xml gdy importuje ServiceManifest.xml .Below jest kod wspierając nadrzędne zmiany dodać je w pliku ApplicationManifest.xml.
a) Dodaje się pierwszą wartość domyślna parametru
<Parameters> <Parameter Name="StatelessService1_InstanceCount" DefaultValue="-1" /> <!-- Default Value is set to Point to Dev Database --> <Parameter Name="DatabaseString"DefaultValue="Server=someserver.database.windows.net\;Database=DbDev;user id=[userid];password=[Password];Trusted_Connection=false;" /> </Parameters>
b) następnie zastąpić go w ServiceManifestImport
<ServiceManifestImport> <ServiceManifestRef ServiceManifestName="StatelessServicePkg" ServiceManifestVersion="1.0.0" /> <ConfigOverrides> <ConfigOverride Name="Config"> <Settings> <Section Name="DatabaseConnections"> <Parameter Name="DbString" Value="[DatabaseString]" /> </Section> </Settings> </ConfigOverride> </ConfigOverrides> </ServiceManifestImport>
Powyższe zmiany kod zastąpić następujące kod settings.xml
<Section Name="DatabaseConnections"> <Parameter Name="DbString" Value="Server=someserver.database.windows.net\;Database=DbDev;user id=[userid];password=[Password];Trusted_Connection=false;" /> </Section>
Łącznie, gdy aplikacja zostanie wdrożona yed wartości w ApplicationParameter DevParam.xml lub QaParam.xml lub ProdParam.xml przekroczą wszystkie wartości ustawień.
<Parameters> <Parameter Name="StatelessService1_InstanceCount" Value="-1" /> <Parameter Name="DatabaseString" Value="Server=someserverqa.database.windows.net\;Database=DbQA;user id=[userid];password=[Password];Trusted_Connection=false;" /> </Parameters>
W uzupełnieniu do powyższej informacji, ważne jest, aby wiedzieć, w jakiej kolejności ASF nadpisuje ustawienie aplikacji:
usługi Fabric zawsze wyboru pliku parametrów aplikacji pierwszy (jeśli określono), następnie manifest aplikacji, a na końcu pakiet konfiguracyjny (source)
Aby uzyskać więcej informacji: http://www.binaryradix.com/2016/10/reading-from-configuration-within-azure.html
- 1. WebpackDevMiddleware w aplikacji ASP.NET Core w usłudze Azure Service Fabric
- 2. Azure Service Fabric Actors - nieobsługiwane wyjątki?
- 3. Dziwne zachowanie usługi Azure Service Bus ReceiveBatch()
- 4. Wysoce dostępny Service Fabric WebApi hostowany na platformie Azure
- 5. Usługa aplikacji Azure a usługa usług Azure
- 6. Service Fabric Wiele instancji usługi z zastąpieniem konfiguracji
- 7. Gdzie mam przechowywać ogólne parametry konfiguracyjne w Silex?
- 8. Ciągła integracja usługi Azure Service Fabric kończy się niepowodzeniem w Visual Studio Team Services (był VSO)
- 9. Błąd aktywacji Azure Usługa Fabric
- 10. Kompromisy i najlepsze praktyki budowania mikroserwisów z usługą Azure Service Fabric
- 11. ustawienia konfiguracyjne Azure Web Role w środowiskach
- 12. Konfigurowanie protokołu SSL na samohostowanym interfejsie API sieci Web w usłudze Azure Service Fabric
- 13. pliki konfiguracyjne dla aplikacji internetowej - ładuj raz i przechowuj gdzie?
- 14. Rozwiązywanie problemów z usługą Azure Service Fabric: "Typ ServiceType nie został zarejestrowany w skonfigurowanym limicie czasu."
- 15. Bezpaństwowe api sieci Web na platformie Azure Service Fabric przez stronę https
- 16. Wzorzec Pub/Sub w usłudze usługi Azure
- 17. Prędkość magistrali usługi Azure
- 18. Wdrożenie usługi Azure Cloud Service bez zmiany istniejącej konfiguracji
- 19. Jak korzystać z funkcji API usługi Azure Mobile Service
- 20. Wady usługi Team Foundation Service i TFS na platformie Azure
- 21. usługi Fabric niezawodne usługi Pipeline projekt
- 22. Usługa Azure Service Fabric brakuje biblioteki DLL na serwerze produkcyjnym: FabricCommon.dll
- 23. Gdzie umieszczam pliki konfiguracyjne IPython?
- 24. Zmiana nazwy planu usługi aplikacji Azure
- 25. Nie można połączyć się z zabezpieczonym klastrem usług Azure Service Fabric za pomocą aplikacji Powershell lub Visual Studio.
- 26. Korzystanie z Analizy aplikacji Azure przy użyciu usługi Azure WebJob
- 27. Usługa Azure Mobile Service i socket.io
- 28. Ustawianie limitu czasu usługi .NET Web Service
- 29. Uzyskaj hasło od użytkownika w aplikacji Fabric, bez echa wartości:
- 30. gdzie przechowywać poświadczenia użytkownika w aplikacji korporacyjnej (EAI)?
Dzięki za link, zapisałem wartość w pliku Settings.xml. ale jak odzyskać tę wartość w kodzie w czasie wykonywania? Nie znalazłem żadnego przykładu na ten temat. –
Ach, dobry punkt! Musisz użyć CodePackageActivationConext. Spójrz na tę odpowiedź SO http://stackoverflow.com/questions/33928204/where-do-you-set-and-access-run-time-configuration-parameters-per-environment-fo – charisk
Działa jak urok. Ale jeszcze jedno pytanie. Ponieważ usługa ServiceInitializationParameters jest dostępna tylko w ramach aktora/usługi, w jaki sposób mogę uzyskać do niej dostęp w innych klasach? Nie mogę utworzyć zmiennej statycznej w Actor/Service, ponieważ jest to obiekt niestatyczny. i jeśli utworzę normalną właściwość, wtedy muszę utworzyć instancję klasy Aktor/Usługa w innych klasach, kiedy potrzebuję tej wartości. –