Have you started the server?
My guess is that you have added the startup class (as described here see install into a webb-application).
Then you have the html file in the root, when requesting a non-serverside resource App_Start will not be called. In that case just do an initial request to the root and set a breakpoint in the startup class to see that it fires. Now you can go to the html file again.
Just saw another possible error, you are using port 4023, but did you start the server on that port? The default port is 4502, but you can ofcourse configure that (see here)
EDIT: There is also an error in the controller. It should not even compile I think. The row:
this.SendTo(message, "onChatMessage");
should probably be
this.SendToAll(message, "onChatMessage");
You can ofcourse use the SenTo but then you would have to pass in a filter
Func<T,bool>