0
我在Windows服務中使用RestSharp客戶端時遇到問題。 當API關閉時,連接丟失。但是一旦API再次運行,其他客戶端會一直拋出相同的錯誤。 即使我設置了RestClient的新實例。Restharp:底層連接已關閉
任何人都有同樣的問題和工作解決方案或建議?
我在Windows服務中使用RestSharp客戶端時遇到問題。 當API關閉時,連接丟失。但是一旦API再次運行,其他客戶端會一直拋出相同的錯誤。 即使我設置了RestClient的新實例。Restharp:底層連接已關閉
任何人都有同樣的問題和工作解決方案或建議?
我是路德維希的同事。 我們的應用程序啓動並連接到api, 應用程序繼續運行並調用api。 當api突然關閉(重新啓動)時,我們的應用程序出現錯誤:底層連接已關閉:服務器關閉了預期保持活動的連接,我們調用InitODataClient和ReadConfigAsync函數來重新創建restClient 。 當API再次運行時,我們期望RestClient再次運行,但我們仍在繼續:底層連接已關閉。無法建立安全通道ssl/tls 當我們重新啓動我們的應用程序時,所有事情都可以再次運行。 沒有證書問題。 看來,創建一個新的RESTClient實現對象使用舊的(無效)連接 某些代碼,我們使用:
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);
}
你有導致此代碼的例子嗎? – vipersassassin