4

我开发了一个 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 连接字符串。哪里来的姐姐?但这里的主要问题是如何解决初始化字符串问题。有任何想法吗?

4

1 回答 1

0

你现在可能已经解决了这个问题,如果你没有:

看起来您的实际连接字符串有问题。您能否分享(省略密码、主机名)实际的 Azure 连接字符串?

如果没有,请使用以下指南:

于 2014-02-21T11:44:11.683 回答