У меня есть проект на основе Azure / Cloud (только для одного проекта).В проект добавлено WCF / WebRole.Мои сервисы WCF используют инфраструктуру сущностей для связи с базой данных SQLAzure.Это работает очень хорошо.
В web.config проекта у меня есть следующее:
<connectionStrings>
<add name="CommuteEntities" connectionString="metadata=res://*/Db.CommuteDataModel.csdl|res://*/Db.CommuteDataModel.ssdl|res://*/Db.CommuteDataModel.msl;provider=System.Data.SqlClient;provider connection string="data source=<db-here>.database.windows.net;initial catalog=dandr;persist security info=True;user id=<user-id-here>;password=<password-here>;multipleactiveresultsets=True;App=EntityFramework" " providerName="System.Data.EntityClient" />
</connectionStrings>
Пока все хорошо.Поэтому я хочу сделать небольшую запланированную фоновую обработку (основываясь на таймере, а не на входящем запросе).Это слишком маленькая задача, чтобы оправдать запуск WorkerRole для работы.
Поэтому вместо этого я создал нечто вроде следующего в проектах WebRole WebRole.cs
public override void Run()
{
while (true)
{
//This is for debug purposes:
string str = ConfigurationManager.ConnectionStrings["CommuteEntities"].ToString();
BackgroundProcessing.BackgroundProcessing.BackgroundProcess();
Thread.Sleep(150000); //2.5mins
}
}
По какой-то причине строкачтобы получить строку подключения просто не похоже на работу.Тем не менее, размещение того же кода в службе WCF работает просто замечательно.
Просто чтобы подчеркнуть, в этом решении есть только один проект, и WebRole.cs
находится в том же проекте, что и рабочие службы WCF.
Примечание :получение строки подключения только для целей отладки.Основная проблема, с которой я сталкиваюсь, заключается в том, что когда мой WebRole.cs пытается получить доступ к сущности, он получает следующее сообщение об исключении:
The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.
Примечание 2: :Я только что заметил, что может показаться, что что-то в моем WebRole.cs
не может видеть ничего, что было настроено в файле Web.config
.Есть ли что-то, что я не правильно делаю или неправильно понимаю?
Кто-нибудь сталкивался с этим раньше или есть идеи?