1

Azure クラウド サービスにデプロイした後、動作しない ASP.NET MVC 3 Web サイトがあります。開発中、Azure Web サイト プラットフォームを使用してテストしてきましたが、カスタム ドメインの SSL サポートを取得するために、クラウド サービスの Web ロールに展開しようとしています。しかし、SQL Azure へのサイトのデータベース接続は機能せず、代わりに、"接続しようとした SQL Server のインスタンスは暗号化をサポートしていません" というメッセージが表示されます。接続を再試行しても機能せず、そのエラー メッセージが持続します。

要約すると、サイトが機能するプラットフォームと機能しないプラットフォームは次のとおりです。

  • Azure エミュレーター: 動作します
  • Azure Web サイト:作品
  • Azure クラウド サービス (Web ロール):機能しません

方法: ADO.NET を使用して Windows Azure SQL データベースに接続する」には、 「接続しようとした SQL Server のインスタンスは暗号化をサポートしていません」というエラーが表示されます。「ログイン プロセス中の失敗を示しており、暗号化の失敗ではありません。.NET 4.5 以降、ADO.NET はより適切なエラー メッセージを表示します。」Azure Cloud Services は .NET 4.0 に限定されています。

サイトはNHibernateを使用してDBに接続しています。ログファイルからのエラーは次のとおりです。

nhibernate セッション ファクトリの作成に失敗しました。FluentNHibernate.Cfg.FluentConfigurationException: SessionFactory の作成中に無効または不完全な構成が使用されました。詳細については、PotentialReasons コレクションと InnerException を確認してください。

  • データベースが Database メソッドで構成されていません。---> System.Data.SqlClient.SqlException: 接続しようとした SQL Server のインスタンスは暗号化をサポートしていません。System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) で System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) で System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) で System.Data. SqlClient.SqlConnection.Open() at YoureOnTime.Data.RetryConnectionStringProvider.<> c_DisplayClass2.bNHibernate.Tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.Prepare() で YoureOnTime.Data.RetryConnectionStringProvider.GetConnection() で YoureOnTime.Common.Retry.RequestWithRetry(RetryPolicy retryPolicy、Action アクション) で _0() (ダイアレクト方言、IConnectionHelper connectionHelper) の NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.Update(ISessionFactory sessionFactory) の NHibernate.Impl.SessionFactoryImpl..ctor (構成 cfg、IMapping マッピング、設定の設定、EventListeners リスナー) の FluentNHibernate.Cfg.FluentConfiguration。 BuildSessionFactory() --- 内部例外スタック トレースの終了 ---

hibernate.xml で接続を定義する方法は次のとおりです。

<property name="connection.connection_string">
      data source=database.database.windows.net;Initial Catalog=db;User ID=user;Password=password;Encrypt=true;Trusted_Connection=false;MultipleActiveResultSets=True
</property>

何か案は?

4

1 に答える 1

0

このエラーを見た以前の経験に基づいて、これは断続的に発生します。SQL Database は常に暗号化を強制します。ログイン プロセスの初期段階 (認証前) でエラーが発生した場合、プロトコル ライブラリ (クライアント側) はこのエラー メッセージにフォールバックします。あなたが言及したように、それは誤解を招くメッセージであり、暗号化とは関係ありません.

この記事では、まったく同じエラーについて説明し、再試行ロジックを追加して問題を解決する方法について説明します。そのため、再試行ロジックを使用するようにコードを変更すると、いくつかの失敗の後、このエラーが発生して接続が確立される場合があります。

于 2012-08-31T16:46:41.673 に答える