В моем веб-приложении ASP.NET используется специализированный поставщик ресурсов, поддерживаемый хранилищем данных SQL Server. Насколько я понимаю, неявный ресурс вызывает поставщик ресурсов во время компиляции, чтобы определить, нужно ли генерировать выражения ресурсов для данного ключа ресурса. Следовательно, мой процесс сборки теперь зависит от наличия активной и актуальной базы данных, содержащей необходимые ключи ресурсов.ASP.NET Resourcing: обнаружение при вызове ResourceProvider во время компиляции и времени выполнения
Это само по себе не обязательно является проблемой. Проблема в том, что приложение подключается к одной из многих баз данных, определяемой параметром querystring (ужасный дизайн, но, к сожалению, я застрял с ним на данный момент). Очевидно, что во время компиляции нет запроса, поэтому поставщик ресурсов не может связаться с базой данных. Можно ли определить, что поставщик ресурсов (или, более конкретно, код ниже поставщика ресурсов) был вызван во время компиляции, поэтому я могу указать на предопределенную базу данных?
На данный момент я просто дефолт для конкретной базы данных, если HttpContext.Current == null. Это прекрасно работает, но эта логика должна существовать на уровне доступа к данным, и я абсолютно ненавижу идею уровня доступа к данным, ссылающегося на System.Web. Есть ли лучшее решение?
Было бы неплохо, если бы кто-то может дать хороший ответ на это. Я также использую HttpContext, и это бесполезно с моим DAL. –