WindowsサービスでRestSharpクライアントを使用する際に問題があります。 APIがダウンすると、接続が失われます。しかし、APIが再び実行されると、残りのクライアントは同じエラーをスローし続けます。 RestClientの新しいインスタンスを設定したとしても。Restsharp:基底の接続が閉じられました
誰も同じ問題と解決策または提案を持っていますか?
WindowsサービスでRestSharpクライアントを使用する際に問題があります。 APIがダウンすると、接続が失われます。しかし、APIが再び実行されると、残りのクライアントは同じエラーをスローし続けます。 RestClientの新しいインスタンスを設定したとしても。Restsharp:基底の接続が閉じられました
誰も同じ問題と解決策または提案を持っていますか?
私はルードヴィヒの同僚です。 アプリケーションが起動し、apiに接続します。 アプリケーションは実行し続け、apiを呼び出します。 APIが突然ダウン(再起動)すると、アプリケーションにエラーが発生します。基本接続が閉じられました:サーバがによって閉じられていることが予想され、接続を再開するためにInitODataClient関数とReadConfigAsync関数を呼び出します。 。 APIが再び実行されているとき、RestClientが再び機能することが期待されましたが、引き続き次のようになります。基本接続が閉じられています。 ssl/tlsのセキュアなチャネルを確立できませんでした アプリケーションを再起動すると、すべてが再び機能します。 証明書に問題はありません。
private RestClient restClient;
private void InitODataClient()
{
restClient = new RestClient(options.BaseUrl);
restClient.AddDefaultHeader("Authorization", "Bearer " + options.AccessToken);
}
private async Task ReadConfigAsync()
{
var requestApplication = new RestRequest("Applications/" + Guid.Parse(applicationId));
var response = await restClient.ExecuteGetTaskAsync<Application>(requestApplication);
//Here the response contains the underlying connection is closed error
}
public async Task RestartAsync()
{
Stop();
do
{
try
{
Logger.Log("Trying to reconnect to the server in 5 seconds...");
Thread.Sleep(5000);
InitODataClient();
ReadConfigAsync().Wait();
break;
}
catch (Exception) { }
}
while (true);
}
は、あなたがこの原因コードの例を持っていますか: 我々が使用するコードのいくつかの接続 新しいRestClientオブジェクトを作成すると、古い(無効)を使用しているようですか? – vipersassassin