4

Simple Membership を有効にし、App_Data ディレクトリにある SQL Server CE データベースを指す C# .Net Web アプリケーションを開発しました。サイトをローカルで実行すると問題なく、アプリケーションに登録してログオンできます。問題は、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 に答える