Following is my client code that I am using on two different pages:
<script src='<%= Page.ResolveUrl("~/resources/js/jquery-1.6.4.min.js") %>' type="text/javascript"></script>re
<script type="text/javascript">
jQuery.noConflict();
</script>
<script src='<%= Page.ResolveUrl("~/resources/js/jquery.signalR-1.2.0.min.js") %>' type="text/javascript"></script>
<script src='<%= Page.ResolveUrl("~/signalr/hubs") %>' type="text/javascript"></script>
<script type="text/javascript">
jQuery(function () {
// Declare a proxy to reference the hub.
var usr = jQuery.connection.notificationHub;
jQuery.connection.hub.logging = true;
jQuery.connection.hub.qs = "clientId=arif";// +readCookie("personId");
jQuery.connection.hub.start().done(function () {
});
usr.client.showUsersOnLine = function (data) {
};
});
</script>
On one page it gets connected and is working ok, but on another page its giving me following error :
[ArgumentException: Could not cast or convert from System.String to System.Collections.Generic.IEnumerable`1[Microsoft.AspNet.SignalR.Hubs.HubDispatcher+ClientHubInfo].]
Newtonsoft.Json.Utilities.ConvertUtils.EnsureTypeAssignable(Object value, Type initialType, Type targetType) +241
Newtonsoft.Json.Utilities.ConvertUtils.ConvertOrCast(Object initialValue, CultureInfo culture, Type targetType) +123
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType) +238
[JsonSerializationException: Error converting value "[{"name": "notificationhub"}]" to type 'System.Collections.Generic.IEnumerable`1[Microsoft.AspNet.SignalR.Hubs.HubDispatcher+ClientHubInfo]'. Path '', line 1, position 35.]
Microsoft.Owin.Host.SystemWeb.Infrastructure.<>c__DisplayClass1.<GetRethrowWithNoStackLossDelegate>b__0(Exception ex) +27
Microsoft.Owin.Host.SystemWeb.Infrastructure.ErrorState.Rethrow() +34
Microsoft.Owin.Host.SystemWeb.CallContextAsyncResult.End(IAsyncResult result) +49
Microsoft.Owin.Host.SystemWeb.OwinHttpHandler.EndProcessRequest(IAsyncResult result) +7
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9628972
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
The only difference I see is : While calling the the negotiate utl the 'connectionData' param is different : For the page where its working its like :
connectionData [{"name":"notificationhub"}]
And for the page where it's not working looks like :
connectionData "[{\"name\": \"notificationhub\"}]"
Can anybody please suggest what am I actually missing or what should the check ?