0

プラットフォームで使用EntityFrameworkしていWindows Azureます。LOCALモードでは非常にうまく機能しますが、 SilverlightWebでアプリケーションを実行しようとしているとき。エラーが発生します:

基になるプロバイダーがOpenで失敗しました。

<configuration>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="DomainServiceModule" preCondition="managedHandler" type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </modules>
    <validation validateIntegratedModeConfiguration="false" />
  </system.webServer>
  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" />
  </appSettings>
  <system.web>
    <httpModules>
      <add name="DomainServiceModule" type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </httpModules>
    <customErrors mode="Off" />
    <compilation debug="true" targetFramework="4.5">
      <assemblies>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </assemblies>
    </compilation>
    <httpRuntime requestValidationMode="4.5" targetFramework="4.5" encoderType="System.Web.Security.AntiXss.AntiXssEncoder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    <pages controlRenderingCompatibilityVersion="4.5" />
    <machineKey compatibilityMode="Framework45" />
  </system.web>
  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
  <connectionStrings>
    <add name="DatabaseEntities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=lnqg2ulkjr.database.windows.net;initial catalog=BuilderDatabase;persist security info=True;user id=XXXXX;password=XXXXX;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>

これが接続文字列の問題であることを確認してIntegrated Securityいましたが、私の場合はそのプロパティがありません。エラーは何でしょうか?

4

1 に答える 1

3

このエラーはエンティティからのものです-Silverlightとはほとんど関係がありません。これは、次の2つのいずれかが発生したときに発生します。

  • エンティティは、指定したデータベースにログインしようとしましたが、アクセスが拒否されました/サーバーが見つかりません/インスタンスが見つかりません/その他の接続エラーが発生しました
  • エンティティは正常にログインしましたが、認識したデータモデルが見つかりません

あなたは地元で働いているので、2番目はチェックするのが非常に簡単なはずです。ローカルのデータモデルが「本番」環境のデータモデルと同じである場合、その部分が処理されます。異なるテーブルがある場合は、いくつかの問題が発生する可能性があります。これは、エンティティのデータモデルにコーディングした列が欠落している場合に二重に当てはまります。多くの場合、エンティティは追加の列と追加のテーブルを許容しますが、これは状況に応じて大きく変化するため、YMMVです。ただし、エンティティが何かが存在することを期待し、存在しない場合は、毎回迅速にクラッシュします。

私のより大きな疑いは、あなたがそこに持っているかなり素晴らしい接続文字列でしょう。InnerExceptionデータベースサーバーが引き起こしている特定の不満を確認するために何を取得しているのかを確認できるはずです。SqlConnectionそうでない場合は、それをコンソールアプリケーションに取り込んで、単純なを実行してプレーンなジェーンに接続しようとしSelect count(Id) from dbo.SmallTableます。これにより、接続の問題を切り分けて、制限された環境で対処することができます。接続の問題を整理したら、接続文字列を貼り付けて(混乱が少なくなることを願っています)、戻って先に進むことができます。

于 2012-10-29T19:42:34.823 に答える