В настоящее время я пытаюсь создать приложение Windows Service, которое будет отправлять почту автоматически. База данных находится в проекте MVC3
под папкой APP_DATA
. Теперь мой вопрос: как я могу использовать connectionString из web.config
в своем приложении Windows Service для запуска запросов в определенное время и отправлять автоматически письма пользователю, когда запросы не пустые. Я сделал некоторые исследования, но я не нашел решений. Возможно ли, что этот подход возможен? Заранее спасибоИспользуйте connectionString из Web.config в приложении для Windows
ответ
Ваша служба Windows будет выполнена как отдельное приложение и не имеет прямого доступа к конфигурации вашего веб-приложения. Я бы предложил вам создать веб-сервис в своем веб-приложении и предоставить необходимые API-интерфейсы.
Затем вы можете использовать свою службу Windows для вызова методов веб-службы и получения необходимых данных.
EDIT: MSDN - лучший ресурс для обучения. Вы можете начать отсюда http://msdn.microsoft.com/en-us/library/bb386386.aspx
У вас есть какие-либо ссылки для меня, где я мог бы обучить себя? – Superbyte
Для подключения можно использовать:
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString);
Пробовал это. Это не работает, и это исключает. C: \ User \ Superbyte \ Documents \ Visual Studio 2012 \ Projects \ WindowsService1 \ WindowsService1 \ nin \ Debug \ DRMS_DB.mdf не удалось. База данных с тем же именем существует, или указанный файл не может быть открыт, или он находится на общем ресурсе UNC. – Superbyte
ваша служба окна использует файл app.config и не web.config файла. щелкните правой кнопкой мыши на своем проекте службы Windows и выберите новый пункт в контекстном меню, затем найдите файл конфигурации приложения и нажмите «Добавить». Скопируйте строки подключения из файла web.config на веб-сайт и вставьте его в файл app.config службы Windows. альтернативно вы могли бы создать API, подобный тому, который предложил Игорь Деинека
Я точно сделал то, что вы мне сказали, но это не работает. – Superbyte
Когда я копирую connectionString из web.config в App.config, я получаю исключение SqlException, которое говорит мне следующее: Попытка вставить базу с автоименованием для файла C: \ User \ Superbyte \ Documents \ Visual Studio 2012 \ Не удалось выполнить проекты \ WindowsService1 \ WindowsService1 \ nin \ Debug \ DRMS_DB.mdf. База данных с тем же именем существует, или указанный файл не может быть открыт, или он находится на общем ресурсе UNC. – Superbyte
Ваша служба Windows ищет DRMS_DB.mdf, вам необходимо прикрепить этот файл базы данных к вашему проекту. это не идеальный способ решить вашу проблему. вы должны посмотреть на создание отдельного проекта для доступа к данным и ссылаться на него в ваших различных проектах .... вот несколько ссылок о том, как создавать n-уровневые приложения http://msdn.microsoft.com/en-us/library/ ms973279.aspx, http://msdn.microsoft.com/en-us/library/vstudio/bb384570.aspx, http://geekswithblogs.net/edison/archive/2009/04/05/a-simple-3- уровень-слои-приложения-в-asp.net.aspx – Yugz
Пробовал ли файл конфигурации приложения вместо вашего файла web.config? Если не попробовать и использовать тот же код для чтения строки подключения.
string connStr = ConfigurationManager.ConnectionStrings["Your Connection String Name"].ConnectionString;
- 1. Как читать ConnectionString из web.config в веб-приложении Asp.net MVC3?
- 2. connectionstring в web.config
- 3. double connectionstring in web.config
- 4. Streamline web.config connectionString encryption
- 5. Web.config aruba ConnectionString
- 6. Динамическое изменение ConnectionString в web.config
- 7. using connectionstring из web.config вместо app.config
- 8. FluentNHibernate не может прочитать connectionString из web.config
- 9. Чтение другого приложения Web.Config для получения ConnectionString
- 10. Connectionstring from web.config-Crystal Reports
- 11. Необработанное исключение в ASP web.config connectionString установка
- 12. ConnectionString в web.config для подключения к SQL Server
- 13. перезапись ConnectionString в web.config ASP.NET MVC
- 14. как доступ ConnectionString в web.config в другом проекте из WCF
- 15. Как читать <connectionstring> из web.config из консольного приложения?
- 16. Ошибка NullReferenceException при попытке получить connectionstring из web.config
- 17. . Net Web.Config Transformations, заменить весь раздел ConnectionString
- 18. connectionstring in web.config error: System.InvalidOperationException: Ошибка экземпляра
- 19. Как я могу получить connectionString из файла web.config?
- 20. connectionstring объявить в iis без объявления в web.config
- 21. ASP.NET ReportViewer Datasource connectionstring не поставляется с web.Config
- 22. Получение ConnectionString из app.config
- 23. Используйте web.config для перенаправления HTTP на HTTP
- 24. Используйте ConfigurationSection/ConfigurationElementCollection для создания вложенного набора элементов из web.config
- 25. Connectionstring в web.config не работает. Даже с абсолютным путем
- 26. Добавить connectionstring в web.config, если он еще не установлен
- 27. Как установить connectionstring в файле web.config программно или динамически?
- 28. Используйте appsettings connectionstring вместо connectionStrings в веб-конфигурации для конструктора datacontext
- 29. Перезагрузка web.config после обновления connectionstring programitcally в C#
- 30. Можете ли вы подключить connectionString для log4net AdoNetAppender из другого места в файле web.config?
Умм, если вы создаете службу WINDOWS, почему именно вы пытаетесь использовать WEB.config? Возможно, поэтому вы не нашли никаких ресурсов, чтобы учиться. – walther
@walther Я настоятельно хочу запросить базу данных, которая находится в моем проекте ASP.NET MVC3. – Superbyte