2

I am now testing new Chat with SignalR and IIS/ASP.net 4 and friends (MySQL, etc...)

I can use SignalR with two clients (IE9, Chrome) or one only and it works. after some actions with code (refresh, change, refresh, etc...) I can see that requests to server is frozen for minutes and if I want to work I need to restart IIS.

I took a dump of IIS process, and see a ten open connections to poll.ashx/connect?transport=foreverFrame .... was opened for minutes. (I am using ashx extenstion to do not use the "runAllManagedModulesForAllRequests", as it hurting performance, it is useless)

I tried GlobalHost.Configuration.ConnectionTimeout = TimeSpan.FromSeconds(30) and GlobalHost.Configuration.KeepAlive = null. same problem. I can see in the dump requests opened to 2 minutes or more.

I know that Windows 7's IIS limited to ten running requests, so I opened Fiddler and abort all sessions. IIS still hangs after termination. I tried to close Fiddler (and then - TCP/HTTP connections) - still hangs.

What I can do to stop the "losted" connections? the client (Fiddler or Browser) closed the TCP/HTTP connections and in IIS there are still alive.

I do not use hubs.

Thanks !

Moshe L
  • 1,797
  • 14
  • 19
  • 1
    What version of SignalR are you using? – davidfowl Jul 25 '12 at 20:48
  • last from source as I need a SNK signed dll. – Moshe L Jul 26 '12 at 06:25
  • There should be a call to abort when you refresh the browser. Are you using the latest client script as well? Generally it's bad to use IIS on windows 7 with SignalR regardless. Use iisexpress – davidfowl Jul 26 '12 at 06:33
  • I am using the last JS client script. I tried also manualy do `connection.stop()` on browsers, still hangs. I know that W7IIS is bad but I think that the hanged requests is a real problem. Thanks for all. – Moshe L Jul 26 '12 at 06:57
  • File a bug with repro steps and your sample application on github. – davidfowl Jul 26 '12 at 07:40
  • Update: I tried to build a repro project. I can see that SignalR ignores `GlobalHost.Configuration.CommandTimeout` and close connections after a long time. I am still working on It. – Moshe L Jul 26 '12 at 11:18
  • 2
    @MosheL Not sure if this is related: http://stackoverflow.com/questions/11250167/how-can-i-debug-sessionstatemodule-request-aquire-state-taking-100-seconds-on We've been having weird issues with aborted requests (cancelled by browser) hanging at IIS for 60-120 seconds and blocking all further requests (due to sessions being "locked" by requests). Happening a lot lately :-/ – Danny Tuppeny Feb 15 '13 at 09:12
  • 2
    We're currently working around it by minimising the chances of aborted requests (eg. ajax requests in progress when a user navigates away from a page), but it feels like an IIS or .NET bug. We're only seeing it since move to IIS7.5/.NET4 :-/ – Danny Tuppeny Feb 15 '13 at 09:13
  • @DannyTuppeny I think that is the problem. my timeout is 20 sec, so normal (not SiganlR-ed) requests just fall after 20s. SignalR need to bybass this limit and the problem re-appair. Thanks. – Moshe L Feb 15 '13 at 10:15
  • @MosheL I think this is a bug (I suspect in ASP.NET 4/4.5, but can't narrow it down), however I can't find anybody else in the world reporting similar issues. We can reproduce it really easily though! :O( – Danny Tuppeny Feb 15 '13 at 13:39
  • I was needed to recycle app every 30-60 minutes, If I do not want to take all my system slow and down... – Moshe L Feb 16 '13 at 19:31

0 Answers0