Что ж, похоже, что единственный способ установить строку подключения SqlMembershipProvider - это использовать Initialize метод , который, согласно документации, не должен вызываться из нашего кода.
Инициализирует поставщика членства в SQL Server значениями свойств, указанными в файле конфигурации приложения ASP.NET.Этот метод не предназначен для использования непосредственно из вашего кода.
Поэтому в основном нам нужно найти способ получить эту информацию в конфигурационном файле, связанном с приложением, в котором размещена DLL.
Все, что вам нужно сделать, это ссылаться на system.web.dll
и system.configuration.dll
в вашей сборке, использовать SqlMembershipProvider, а затем установить правильные значения в app.config для исполняемого файла следующим образом:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="MembershipConnectionString" connectionString="connectionstringdetails" providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<membership defaultProvider="DefaultSqlMembershipProvider">
<providers>
<clear />
<add name="DefaultSqlMembershipProvider" connectionStringName="MembershipConnectionString" type="System.Web.Security.SqlMembershipProvider" />
</providers>
</membership>
</system.web>
</configuration>
Важно отметить, что если вы «MyAssembly.dll» и «TheApp.exe», это должно быть «TheApp.exe.config», а не «MyAssembly.dll.config».Файл конфигурации всегда связан с исполняемой сборкой.