MVC5 hangs on MapSignalR when reconnecting after AppPool cycles

后端 未结 3 478
情书的邮戳
情书的邮戳 2021-01-04 04:44

I have the following code in my Startup.SignalR.cs:

using Microsoft.AspNet.SignalR;
using Owin;
using System;
using System.Collections.Generic;
using System.         


        
3条回答
  •  耶瑟儿~
    2021-01-04 05:46

    another fix for this, from this blog post: http://www.zpqrtbnk.net/posts/appdomains-threads-cultureinfos-and-paracetamol

    app.SanitizeThreadCulture();
    
    public static void SanitizeThreadCulture(this IAppBuilder app)
    {
            var currentCulture = CultureInfo.CurrentCulture;
    
            // at the top of any culture should be the invariant culture,
            // find it doing an .Equals comparison ensure that we will
            // find it and not loop endlessly
            var invariantCulture = currentCulture;
            while (invariantCulture.Equals(CultureInfo.InvariantCulture) == false)
                invariantCulture = invariantCulture.Parent;
    
            if (ReferenceEquals(invariantCulture, CultureInfo.InvariantCulture))
                return;
    
            var thread = Thread.CurrentThread;
            thread.CurrentCulture = CultureInfo.GetCultureInfo(thread.CurrentCulture.Name);
            thread.CurrentUICulture = CultureInfo.GetCultureInfo(thread.CurrentUICulture.Name);
    }
    

提交回复
热议问题