2016-05-15 2 views
3

Azure SQLを使用してAzure Webサイトを公開しました。ウェブサイトに到達したときAzure上のHangfire SQL

はしかし、私はHangfireに関連するコールバックして、エラー

An existing connection was forcibly closed by the remote host 

を得る:

[Win32Exception (0x80004005): An existing connection was forcibly closed by the remote host] 

[SqlException (0x80131904): A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)] 
    System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling) +830 
    System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +329 
    System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions) +38 
    System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +507 
    System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +154 
    System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +21 
    System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +90 
    System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +217 
    System.Data.SqlClient.SqlConnection.Open() +96 
    Hangfire.SqlServer.SqlServerStorage.CreateAndOpenConnection() +49 
    Hangfire.SqlServer.SqlServerStorage.UseConnection(Func`2 func) +41 
    Hangfire.SqlServer.SqlServerStorage.UseTransaction(Func`2 func, Nullable`1 isolationLevel) +84 
    Hangfire.SqlServer.SqlServerStorage.UseTransaction(Action`1 action) +73 
    Hangfire.SqlServer.SqlServerWriteOnlyTransaction.Commit() +47 
    Hangfire.RecurringJobManager.AddOrUpdate(String recurringJobId, Job job, String cronExpression, TimeZoneInfo timeZone, String queue) +277 

任意のアイデア?

+0

これらのエラーは頻繁に発生しますか?いいえ、これを確認してください[link](http://stackoverflow.com/a/34413504/6326116) – riteshmeher

+0

悲しいことに今、それはWebアプリケーションの初期展開です。それはうまくいきません、そして、私はこのエラーを/ hangfire urlを使用して受け取ります。 – Dekim

+0

私は同じ問題を抱えています。 –

答えて

6

私はまったく同じ問題を抱えていました。私のようにAzure Portalのデータベース設定ページから接続文字列をコピーした場合は、Pooling=False;を削除してみてください。これは私の問題を解決しました。

申し訳ありませんが、これが原因でHangfireが失敗する原因の説明がありません。しかし、通常、接続プーリングを有効にしたいと思うでしょう。

+0

SQL Azure DBでハングファイアを使用して全体の経験を共有できますか? –

+0

デフォルトのポーリング間隔を増やすか、独自の種類の再試行またはフォールトトレランスロジックをロールバックする必要がありましたか? –

+0

ご迷惑をおかけして申し訳ありません。 Azure Web Appsに既存のアプリケーションの1つを移動することを試していたので、予想通りにAzure SQLでHangfireを使った経験が豊富だとは言えません。そして私たちはバックグラウンドで電子メール通知を送信するためにしか使用しないので、フォールトトレランスのための多くの要件はありません。ポーリング間隔に関しては、デフォルトのものを変更する必要はありませんでした。 – M1Les

関連する問題