2014-10-08 4 views
0

Это мой текущий файл web.config, в строках подключения вы увидите два подключения по умолчанию и vsmh. Я пытался удалить соединение по умолчанию с SQL Exress, но тогда это говорит моя модель счета использует его для проверки подлинности, который не имеет особого смысла:Как изменить файл веб-конфигурации на использование MySQL и полностью игнорировать SQL Express или SQL Server?

<?xml version="1.0" encoding="utf-8"?> 
<!-- 
    For more information on how to configure your ASP.NET application, please visit 
    http://go.microsoft.com/fwlink/?LinkId=152368 
    --> 
<configuration> 
    <configSections> 
     <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 
     <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
    </configSections> 
    <connectionStrings> 
     <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-VanguardApp-20140610090811;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-VanguardApp-20140610090811.mdf" /> 
     <add name="vsmhEntities" connectionString="metadata=res://*/Models.vsmh.csdl|res://*/Models.vsmh.ssdl|res://*/Models.vsmh.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=localhost;user id=root;password=vanguardpl;database=vsmh&quot;" providerName="System.Data.EntityClient" /></connectionStrings> 
    <system.data> 
     <DbProviderFactories> 
      <clear /> 
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version= 6.5.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> 
     <remove invariant="MySql.Data.MySqlClient" /><add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.7.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /></DbProviderFactories> 
    </system.data> 
    <appSettings> 
     <add key="webpages:Version" value="2.0.0.0" /> 
     <add key="webpages:Enabled" value="false" /> 
     <add key="PreserveLoginUrl" value="true" /> 
     <add key="ClientValidationEnabled" value="true" /> 
     <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
    </appSettings> 
    <system.web> 
     <httpRuntime targetFramework="4.5" /> 
     <compilation targetFramework="4.5"><assemblies><add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /></assemblies> 
      <buildProviders> 
       <add extension=".cshtml" type="System.Web.WebPages.Razor.RazorBuildProvider, System.Web.WebPages.Razor" /> 
      </buildProviders> 
     </compilation> 
     <authentication mode="Forms"> 
      <forms loginUrl="~/Account/Logon" timeout="2880" /> 
     </authentication> 
     <pages> 
      <namespaces> 
       <add namespace="System.Web.Helpers" /> 
       <add namespace="System.Web.Mvc" /> 
       <add namespace="System.Web.Mvc.Ajax" /> 
       <add namespace="System.Web.Mvc.Html" /> 
       <add namespace="System.Web.Optimization" /> 
       <add namespace="System.Web.Routing" /> 
       <add namespace="System.Web.WebPages" /> 
      </namespaces> 
     </pages> 
     <profile defaultProvider="DefaultProfileProvider"> 
      <providers> 
       <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> 
      </providers> 
     </profile> 
     <membership defaultProvider="DefaultMembershipProvider"> 
      <providers> 
       <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" /> 
      </providers> 
     </membership> 
     <roleManager enabled="true" defaultProvider="DefaultRoleProvider"> 
      <providers> 
       <add connectionStringName="DefaultConnection" applicationName="/" name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
      </providers> 
     </roleManager> 
     <!-- 
         If you are deploying to a cloud environment that has multiple web server instances, 
         you should change session state mode from "InProc" to "Custom". In addition, 
         change the connection string named "DefaultConnection" to connect to an instance 
         of SQL Server (including SQL Azure and SQL Compact) instead of to SQL Server Express. 
      --> 
     <sessionState mode="InProc" customProvider="DefaultSessionProvider"> 
      <providers> 
       <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" /> 
      </providers> 
     </sessionState> 
    </system.web> 
    <system.webServer> 
     <validation validateIntegratedModeConfiguration="false" /> 
     <handlers> 
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> 
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> 
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> 
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> 
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 
     </handlers> 
     <httpProtocol> 
      <customHeaders> 
       <add name="Access-Control-Allow-Origin" value="*" /> 
      </customHeaders> 
     </httpProtocol> 
    </system.webServer> 
    <runtime> 
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
      <dependentAssembly> 
       <assemblyIdentity name="Telerik.Windows.Data" publicKeyToken="5803CFA389C90CE7" culture="neutral" /> 
       <bindingRedirect oldVersion="0.0.0.0-2014.2.729.45" newVersion="2014.2.729.45" /> 
      </dependentAssembly> 
      <dependentAssembly> 
       <assemblyIdentity name="Telerik.Windows.Controls" publicKeyToken="5803CFA389C90CE7" culture="neutral" /> 
       <bindingRedirect oldVersion="0.0.0.0-2014.2.729.45" newVersion="2014.2.729.45" /> 
      </dependentAssembly> 
      <dependentAssembly> 
       <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> 
       <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
      </dependentAssembly> 
      <dependentAssembly> 
       <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 
       <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> 
      </dependentAssembly> 
      <dependentAssembly> 
       <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> 
       <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
      </dependentAssembly> 
      <dependentAssembly> 
       <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" /> 
       <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" /> 
      </dependentAssembly> 
      <dependentAssembly> 
       <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" /> 
       <bindingRedirect oldVersion="0.0.0.0-1.3.0.0" newVersion="1.3.0.0" /> 
      </dependentAssembly> 
      <dependentAssembly> 
       <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
       <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> 
      </dependentAssembly> 
      <dependentAssembly> 
       <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" /> 
       <bindingRedirect oldVersion="0.0.0.0-6.7.5.0" newVersion="6.7.5.0" /> 
      </dependentAssembly> 
     </assemblyBinding> 
    </runtime> 
    <entityFramework> 
     <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
    </entityFramework> 
</configuration> 
+0

Я думаю, что это имеет в виду тот факт, ваше членство, провайдеры роль и профиль все использовать в SQL express db. –

+0

Проблема в том, что ваше соединение по умолчанию использует SQLClient, что означает, что код в вашем приложении использует SQLCLient. Вы не можете просто изменить свой конфиг и подумать, что он тоже изменит ваш код. – Steve

ответ

1

Походит поставщика Asp.Net членства использует SQL Express с отдельным контекстом db. Вам нужно либо установить строку подключения mysql в DefaultConnection, либо изменить свой контекст db вашей учетной записи, чтобы использовать строку подключения vsmhEntities. Даже после этого вам нужно убедиться, что все таблицы членства созданы в вашей базе данных mysql, чтобы поставщик членства мог ее найти.

Вы также можете проверить ссылку ниже, чтобы увидеть, как использовать MySql для базы данных членства:

http://dev.mysql.com/doc/connector-net/en/connector-net-tutorials-asp-roles.html