|
Как подменить конфигурационный файл на параметры считанные из базы
|
|||
---|---|---|---|
#18+
Добрый день, Мое приложение работает от конфигурационного файла типа такого: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Я создал модуль: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66.
Этот модуль в цикле вытаскивает из базы параметры для каждой компании. Для подключения критичны четыре параметра: consumerKey consumerSecret certificate certificatePassword Которые заменяют параметры из конфигурационного файла: <add key="ConsumerKey" value="XXXXXXXXXXXXXXXXXXXXXXXXXX"/> <add key="ConsumerSecret" value="YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"/> <add key="SigningCertificate" value="C:\\MyFolder\\cert\\public_privatekey.pfx"/> <add key="SigningCertificatePassword" value="MyPassword"/> Мой главный модуль выглядит сейчас так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
Этот кусок делает всю работу: Код: c# 1. 2.
Как мне сделать так, чтобы он вместо конфигурационного файла использовал то, что я считываю из базы? Одна коллега сказала мне такое: Когда считываешь данные из базы, сразу создавай новый класс конфиг, где его свойства сет на основании считанных значений. Потом этот только что созданный конфиг передай в экспорт. А как это можно сделать? Не ругайте сильно, опыта в с# у меня несколько недель. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 10:25 |
|
Как подменить конфигурационный файл на параметры считанные из базы
|
|||
---|---|---|---|
#18+
Зачем? Если все компании - в таблице базы данных, зачем их хранить конфиге? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 15:58 |
|
Как подменить конфигурационный файл на параметры считанные из базы
|
|||
---|---|---|---|
#18+
WorobjoffЗачем? Если все компании - в таблице базы данных, зачем их хранить конфиге? Я наверное неправильно объяснил. У меня раньше прорамма работала от конфига, но там можно хранить только одну компанию, если не делать кастомизированное решение. Я сохранил все компании в базе, но не могу разобраться, как мне теперь программу заставить использовать данные, считанные из базы. Мне коллега сказала такую подсказку: Когда считываешь данные из базы, сразу создавай новый класс конфиг, где его свойства сет на основании считанных значений. Потом этот только что созданный конфиг передай в экспорт. Но для моего уровня, это мало информации. Помогите разобраться как создать этот класс и передать его в модуль, сюда в общем: Код: c# 1. 2.
Я так понимаю, мне экпорт надо внутри этого модуля вызывать, ибо тут цикл по компаниям: Код: c# 1. 2.
И там передавать этот новый класс для каждой компании. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 16:13 |
|
Как подменить конфигурационный файл на параметры считанные из базы
|
|||
---|---|---|---|
#18+
Roust_mКогда считываешь данные из базы, сразу создавай новый класс конфиг, где его свойства сет на основании считанных значений. Код: c# 1. 2.
Roust_mПотом этот только что созданный конфиг передай в экспорт. Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 17:13 |
|
Как подменить конфигурационный файл на параметры считанные из базы
|
|||
---|---|---|---|
#18+
Roust_mКогда считываешь данные из базы, сразу создавай новый класс конфиг, где его свойства сет на основании считанных значений. Код: c# 1. 2.
Roust_mПотом этот только что созданный конфиг передай в экспорт. Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 17:14 |
|
Как подменить конфигурационный файл на параметры считанные из базы
|
|||
---|---|---|---|
#18+
Создайте поставщик конфигурации, определите интерфейсы взаимодействия и работайте с конфигурацией через них, в разных провайдерах будет разная реализация сохранения и загрузки (через бд\файл\реестр\конфигманагер или любым удобным способом). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2019, 17:23 |
|
Как подменить конфигурационный файл на параметры считанные из базы
|
|||
---|---|---|---|
#18+
pationRoust_mпропущено... Код: c# 1. 2.
Roust_mпропущено... Код: c# 1. 2.
Нет, не все так просто, EnvConfigs вызывает хранимую процедуру uspGetConfigs, которая возвращает список конфигураций. Я этот список в цикле считываю в переменные: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Основные переменные содержат ключи, чтобы соединиться с каждой компанией и выполнить экспорт: consumerKey consumerSecret certificate certificatePassword Мне из этих (основные) и других переменных (такие как tableSuffix, cutoverDate и т.д.) надо собрать конфигурацию и передать в модуль экспорта. А также сделать так, чтобы модуль экспорта брал конфигурацию не из App.config файла, а из мною созданного из переменных класса конфиг. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 04:48 |
|
Как подменить конфигурационный файл на параметры считанные из базы
|
|||
---|---|---|---|
#18+
Roman MejtesСоздайте поставщик конфигурации, определите интерфейсы взаимодействия и работайте с конфигурацией через них, в разных провайдерах будет разная реализация сохранения и загрузки (через бд\файл\реестр\конфигманагер или любым удобным способом). В данной программе это будет все через базу. Мне сложно пока делать такие вещи. Да и потом, что-то подобное у меня уже есть. Ниже куски кода, которые делают аутентификацию беря данные из конфиг файла. Этот код часть оболочки которую написали в Xero. Типа берите кто хотите и дописывайте туда свои приложения. Вот только понять откуда это все вызывается я не могу. А также как заставить приложение брать конфигурационные данные из моих переменных вместо конфиг файла. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40.
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51.
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 07:43 |
|
Как подменить конфигурационный файл на параметры считанные из базы
|
|||
---|---|---|---|
#18+
Сон Веры Павловныможно сделать свою кастомную реализацию SettingsProvider, и внутри реализации в зависимости от выбранной конфигурации грузить нужные значения. Гуглить по фразе "C# custom SettingsProvider". Один из примеров . ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 10:07 |
|
Как подменить конфигурационный файл на параметры считанные из базы
|
|||
---|---|---|---|
#18+
осталось только разобраться, где хранить настройки подключения к базе данных :D явно не в базе данных ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 13:58 |
|
Как подменить конфигурационный файл на параметры считанные из базы
|
|||
---|---|---|---|
#18+
Roust_m, можно поменять реализацию класса Settings. Приблизительно таким образом: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
Код: c# 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 14:04 |
|
Как подменить конфигурационный файл на параметры считанные из базы
|
|||
---|---|---|---|
#18+
SirYouGin Код: c# 1. 2. 3. 4. 5. 6.
А как это написать? Мне нужно перебрать все в цикле и выполнить экспорт для каждой конфигурации. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 02:36 |
|
Как подменить конфигурационный файл на параметры считанные из базы
|
|||
---|---|---|---|
#18+
Roust_m, это зависит от реализации метода объекта export.ExcelReport(). Если он работает отдельно с каждой конфигурацией, то Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Если же ему можно передать список из нескольких конфигураций, то Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 10:27 |
|
|
start [/forum/topic.php?fid=20&fpage=17&tid=1398843]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 188ms |
0 / 0 |