.NET Core网站使用TwitchLib API Core时突发SSL连接错误求助
.NET Core网站使用TwitchLib API Core时突发SSL连接错误求助
我在自己的.NET Core网站里用TwitchLib来检查Twitch直播间的在线状态,之前一直运行得很正常,但最近突然出问题了——直播间的在线状态完全加载不出来,还抛出了SSL连接失败的异常,具体的错误栈信息如下:
The SSL connection could not be established, see inner exception at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request) at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at TwitchLib.Api.Core.Internal.TwitchHttpClientHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) at TwitchLib.Api.Core.HttpCallHandlers.TwitchHttpClient.GeneralRequestAsync(String url, String method, String payload, ApiVersion api, String clientId, String accessToken) at TwitchLib.Api.Core.ApiBase.<>c__DisplayClass13_0`1.<<TwitchGetGenericAsync>b__0>d.MoveNext() --- End of stack trace from previous location --- at TwitchLib.Api.Core.ApiBase.TwitchGetGenericAsync[T](String resource, ApiVersion api, List`1 getParams, String accessToken, String clientId, String customBase) at Web.Models.Series.SetTwitchStatuses() in LiveStats.cs:line 102
我目前使用的核心代码是这样的:
var twitchUsernames = this.PlayerTwitches.Select(x => x.Twitch).Where(x => !string.IsNullOrEmpty(x)).ToList(); var userResponse = await TwitchApi.Api.Helix.Users.GetUsersAsync(logins: twitchUsernames); var streamResponse = await TwitchApi.Api.Helix.Streams.GetStreamsAsync(userIds: userResponse.Users.Select(y => y.Id).ToList()); public static class TwitchApi { public static TwitchAPI Api { get; set; } public static void RegisterApi(string twitchClientId, string twitchAccessToken) { Api = new TwitchAPI(); Api.Settings.ClientId = twitchClientId; Api.Settings.AccessToken = twitchAccessToken; } }
补充一下环境信息:这个网站部署在Windows Server 2012 R2系统的IIS上,但我本地调试项目的时候完全没有问题,一切正常。实在搞不懂为什么部署到服务器就出SSL连接的问题了,有没有大佬能帮忙分析下原因?
备注:内容来源于stack exchange,提问作者Bad Dub
相关产品推荐
相关产品推荐

