我开发了一个 C# .Net Web 应用程序,我在其中启用了 Simple Membership 并指向位于 App_Data 目录中的 SQL Server CE 数据库。当我在本地运行该站点时,它很好,我可以很好地注册和登录应用程序。问题是当我将其发布到 Azure 时,尝试登录时出现以下错误:
初始化字符串的格式不符合从索引 0 开始的规范
所以我做了一些搜索,但找不到这个问题的具体解决方案。我的 web.config 的片段包含以下内容:
<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" />
<add key="enableSimpleMembership" value="true" />
</appSettings>
<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.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
<remove invariant="System.Data.SqlServerCe.4.0" />
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>
<connectionStrings>
<add name="MySQLOrderTrackerConnectionString" connectionString="XXXX;Database=OrderTracker;uid=XXXX;pwd=XXXX" providerName="MySql.Data.MySqlClient" />
<add name="MembershipConnectionString" providerName="System.Data.SqlServerCe.4.0" connectionString="Data Source=|DataDirectory|\Membership.sdf;password=XXXX" />
<add name="DefaultConnection" connectionString="DefaultConnection_ConnectionString" providerName="System.Data.SqlClient" />
</connectionStrings>
同样不明白的是,当发布到 Azure 时,会出现 DefaultConnection 连接字符串。哪里来的姐姐?但这里的主要问题是如何解决初始化字符串问题。有任何想法吗?