我有一个Azure Service Fabric群集。提供全州服务和无国籍服务。 无国籍服务是面向公众的asp.net核心网站。使用多个SQL连接字符串和与Azure存储帐户的连接。
当它运行较长时间(多天)时,有时会挂起,我无法确定问题。
当我重新启动(从SF群集仪表板)运行该服务的节点时。它再次开始工作。
在ASP.NET核心应用程序的日志中,这是最后一个日志。我不知道是什么
System.ArgumentException:偏移量和长度超出数组的范围或计数大于从索引到源集合末尾的元素数。在Microsoft.Net.Http.Server.RequestUriBuilder的Microsoft.Net.Http.Server.RawUrlHelper.GetPath(Byte [] raw)的System.ArraySegment`1..ctor(T []数组,Int32偏移量,Int32计数)处。在Microsoft的Microsoft.Net.Http.Server.RequestContext..ctor(WebListener服务器,NativeRequestContext memoryBlob)的Microsoft.Net.Http.Server.Request..ctor(RequestContext requestContext,NativeRequestContext nativeRequestContext)中的DecodeAndUnescapePath(Byte [] rawUrlBytes)。 Net.Http.Server.AsyncAcceptContext.IOCompleted(AsyncAcceptContext asyncResult,UInt32 errorCode,UInt32 numBytes)---从抛出异常的先前位置开始的堆栈跟踪---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)在Microsoft.AspNetCore.Server.WebListener.MessagePump.d__22.MoveNext()的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中
在运行该服务的节点的事件查看器(Application,ServiceFabric Admin,Service Fabric Operational)中,没有任何异常。这已经多次发生了。
有什么地方可以找到更多内部日志记录吗? 或者现在有人出现错误吗?
我运行asp.net核心的代码如下所示:
protected override IEnumerable CreateServiceInstanceListeners()
{
return new ServiceInstanceListener[]
{
new ServiceInstanceListener(serviceContext =>
new WebListenerCommunicationListener(serviceContext, "ServiceEndpoint", (url, listener) =>
{
ServiceEventSource.Current.ServiceMessage(serviceContext, $"Starting WebListener on {url}");
return new WebHostBuilder().UseWebListener()
.ConfigureServices(
services => services
.AddSingleton(serviceContext))
.UseContentRoot(Directory.GetCurrentDirectory())
.UseStartup()
.UseApplicationInsights()
.UseServiceFabricIntegration(listener, ServiceFabricIntegrationOptions.None)
.UseUrls(url)
.Build();
}))
};