title: Trying to impliment SignalR with Knockout ViewModel
body: <p>I have the following code and it appears to not be calling the client and updating the KnockOutJS viewmodel with the information.  The GetOuting() gets called on page load and the correct information is fed into the viewmodel.  Chrome shows no JS errors in the developer tools.  From that point forward I am having trouble figuring out how to troubleshoot it.  Any help is appreciated.
  SignalR Hub</p>
  
  <pre><code>public class Outings : Hub
  {
      private static Dictionary&lt;Guid, OutingViewModel&gt; outings = new Dictionary&lt;Guid, OutingViewModel&gt;();
  
      public void GetOuting(string id)
      {
          var guidID = new Guid(id);
          bool containsOuting = outings.ContainsKey(guidID);
          if (!containsOuting)
          {
              var outingAccessor = new OutingAccessor();
              outingAccessor.ID = guidID;
              outingAccessor.Load();
              var outingVM = new OutingViewModel(outingAccessor);
              outings.Add(guidID, outingVM);
          }
          var outing = outings[guidID];
          this.Clients.updateOuting(outing);
      }
  
      public void SaveOuting(string outingNumber, OutingViewModel outing)
      {
          var guidID = new Guid(outingNumber);
          outings[guidID] = outing;
          this.Clients.updateOuting(outing);
      }
  }
  </code></pre>
  
  <p>ViewModel</p>
  
  <pre><code>public class OutingViewModel
  {
      public OutingViewModel(OutingAccessor outingAccessor)
      {
          ID = outingAccessor.ID;
          OutingNumber = outingAccessor.OutingNumber;
          var outingGeneralAccessor = new OutingGeneralAccessor();
          var outingGeneral = outingGeneralAccessor.GetOutingGeneralByOutingID(outingAccessor.ID);
          this.OutingName = outingGeneral.Name;
      }
      public Guid ID { get; set; }
      public int OutingNumber { get; set; }
      public string OutingName { get; set; }
  }
  </code></pre>
  
  <p>HTML + JavaScript</p>
  
  <pre><code>@model string
  &lt;script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"&gt; &lt;/script&gt;
  &lt;script src="@this.Url.Content("~/Scripts/jquery.signalR.js")" type="text/javascript"&gt;     &lt;/script&gt;
  &lt;script src="@this.Url.Content("~/Scripts/knockout.js")" type="text/javascript"&gt; &lt;/script&gt;
  &lt;script type="text/javascript" src="/signalr/hubs"&gt; &lt;/script&gt;
  &lt;script type="text/javascript"&gt;
      $(function() {
          function outingDataViewModel() {
              this.hub = $.connection.outings;
              this.ID = ko.observable();
              this.OutingNumber = ko.observable();
              this.OutingName = ko.observable();
              //Initializes the view model
              this.init = function() {
                  this.hub.getOuting('@this.Model');
              };
              this.hub.updateOuting = function(data) {
                  ID(data.ID);
                  OutingName(data.OutingName);
                  OutingNumber(data.OutingNumber);
              };
          }
          var vm = new outingDataViewModel();
          ko.applyBindings(vm);
          // Start the connection
          $.connection.hub.start(function() { vm.init(); });
      });
  &lt;/script&gt;
  &lt;h1&gt;Outing Number&lt;/h1&gt;
  &lt;div id="OutingSummary"&gt;
      &lt;div data-bind="text:OutingNumber"&gt;&lt;/div&gt;
      &lt;div data-bind="text:OutingName"&gt;&lt;/div&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>Upon further debugging it appears to be in the lines </p>
  
  <pre><code>ID(data.ID);
  OutingName(data.OutingName);
  OutingNumber(data.OutingNumber);
  </code></pre>
  
  <p>It looks like I am getting an exception of "undefined_method" when it tries to set ID.  Does that make sense to anyone else?</p>