1

Мне интересно, можно ли использовать встроенные приложения ASP.NET-приложения (aspnet_user, aspnet_role etc table) без указания строки подключения в web.config.Пользовательская база данных ASP.NET без строк подключения web.config

В настоящее время я храню строки подключения снаружи, но я продолжаю находить жестко закодированные строки подключения по всему web.config xml, различным провайдерам и т. Д. Это сводит меня с ума.

Спасибо

+3

Только примечание: понятия «трудно «закодированные» и «данные в web.config» являются взаимоисключающими. Hard-Coded означает, что информация хранится внутри фактического кода, требуя перекомпиляции для изменения. Помещение данных в файл конфигурации - это способ избежать «жесткого кодирования» информации. Просто семантика;) – NotMe

+0

Спасибо за отзыв. Я перефразирую себя. Я пытался сказать, что мне не нравятся приложения, добавляющие строки подключения в различные конфигурационные файлы «автоматически». – 2010-06-18 08:53:08

ответ

2

Вы можете написать свой собственный провайдер с помощью переопределения уже существует, встроенный в классе, так что будет читать это строка соединения где-то еще:

public class MyMembershiProvider : SqlMembershiProvider 
{ 
    public override void Initialize(string name, NameValueCollection config) 
    { 
     config["connectionString"] = "what ever you want"; 

     base.Initialize(name, config); 
    } 
} 
+0

Эй, спасибо за это. Это все равно означает, что приложение будет искать разные файлы конфигурации в зависимости от того, является ли это web.config после или app.config. Кроме того, у меня есть модульные тесты, которые, похоже, используют собственную строку conncetion. LINQ to SQL имеет строки подключения, созданные в некоторых файлах конфигурации - я удалил их. В настоящий момент моей главной задачей являются провайдеры сетевых данных asp. – 2010-06-18 08:54:48

+0

Spasibo za sovet%) – 2010-06-18 08:56:46

+0

@vikp: Итак, вы хотите минимизировать количество строк подключения, используемых в приложении? Вы можете указать не 'connectionString', а' connectionStringName', чтобы он считывал соответствующую строку соединения из узла Web.config/connectionStrings. Рад помочь! :) – abatishchev