In a previous blog post I talked about how to use SignalR with your DotNetNuke modules, well, if you are using DNN 7.1 and the "Advanced" URLFormat option (upgrades won't use this by default, new installs will) then the SignalR/Hubs route will no longer work, DNN will return a 404 for that path.
What you need to do is "override" the URL settings in DNN. In the DNN Platform, you have to do this manually, via the database, I believe the EVOQ ($paid$) versions have a UI for this, but for those of us who focus specifically on the open source platform, you need to make manually update database entries to customize the URL handling in 7.1+.
In order to get SignalR working in 7.1, you'll want to add a HostSetting (or portal setting if you wish, but I won't provide the SQL for that) that defines the AUM_DoNotRewriteRegEx setting. Here is a sample SQL script that will do that. (as always, run at your own risk, backup before executing, I'm not responsible for you screwing up your website).
insert into {databaseOwner}{objectQualifier}hostsettings
(SettingName
, SettingValue
, SettingIsSecure
, CreatedByUserId
, CreatedOnDate
, LastModifiedByUserId
, LastModifiedOnDate
)
values(
'AUM_DoNotRewriteRegEx'
,'/DesktopModules/|/Providers|/LinkClick\.aspx|/SignalR'
, 0
, -1
, GETDATE()
, -1
, GETDATE()
)
You can run this from the HOST/SQL window, or if you want to run it via SSMS, replace the {databaseOwner} and the {objectQualifier} tokens with the settings you have in your web.config. After executing this SQL you will need to recycle your application pool and clear the cache.
If you happen to already have that setting defined in HostSettings, simply add |/signalr to the end of the existing values.
I had to come up with this fix for the next release of the #dnnCHAT module, more on that release next week.
On a side note, I hope that someone writes a free open source extension that will do this in the very near future. If you do, let me know and I'll give you some social media shout-outs.
Update 7/28/2013: Updated the SettingValue SQL to fix a bug in 7.1 source code in DNN
Update 7/29/2013: New tutorial for the DNN 7.1 Space character replacement in URLs