I asked this question before which has got a very good response. But as I am new to asp.net (and jquery) cant understand how the program is flowing.
Summary:
I have created a Basic chat application. Now I am trying to add a advanced function like whenever a user is online (connected to a server), the server should show or broadcast the available online user’s username to all the users connected to that server.
By referring the responses to the previous question (s0nica and VinayC), I modified my class file and jquery file, which are giving errors as shown in the below links. (I think I am very close)
Chat.cs (Two errors, I mentioned errors in between code comments)
file.js (Working fine, refer it if you need to)
Please have a look to the above files and assist me.
PS: In the previous post, I was thinking that if I change the Global.asax code, my problem will be solved.. which I realized later as wrong..
Your first error from:
Shold be:
Other errors associated with it: In your JS file it should be:
Line 15
Second error:
The error is exactly as it states, you do not have a toList function off of your dictionary object. Secondly you can’t plainly convert a List or a string directly to a Chat object.
Based on your setup you currently dont have a proper “user” list to return. Right now you’re saving a List to represent an individual user. You might want to try changing your dictionary object to be something like
Where User is:
Then on your Joined function you could just do:
Lastly your GetConnectedUsers would end up(make sure you’re ‘using System.Linq;’):
I probably went a little bit overboard but hopefully this helps!
If you need a reference to the change log from SignalR 0.5.3 to 1.0 alpha here’s a great post on all of the modifications:
http://weblogs.asp.net/davidfowler/archive/2012/11/11/microsoft-asp-net-signalr.aspx