2012-10-04 28 views
3

我正在使用WinRT客戶端。我嘗試發送郵件時收到此異常。SignalR解析值時遇到意外字符:<

解析值時遇到意外的字符:<。

當您將對象發送到集線器並且對象未在集線器上定義時,會發生此問題。該對象是一個Bindable對象(ViewModel)。我不想在Web項目中包含所有通知更改資源的屬性。

客戶端代碼

return Proxy.Invoke("PlayerUpdate", sessionData); 

嘗試之一是具有在輪轂接受「對象」參數

public async Task PlayerUpdate(string group, object sessionData) 
{ 
await Clients[group].PlayerUpdate(sessionData); 
} 

嘗試2是有轂接受(JSON)「字符串」參數

public async Task PlayerUpdate(string group, string sessionData) 
{ 
await Clients[group].PlayerUpdate(sessionData); 
} 

嘗試三是預先序列化客體端的對象

var str = JsonConvert.SerializeObject(refresh); 
return Proxy.Invoke("PlayerUpdate", str); 

沒有任何工作。計劃4將定義共享庫中的一些數據傳輸對象進行發送。我真的不想這樣做,因爲它會使我的代碼翻一番。

回答

3

已解決。

我的回購項目很好,所以我總結說別的事情是這樣的。

經過一番實驗後,我發現真正的問題是我的HUB方法中有不正確的參數。簡單地說,當我的集線器方法只接受1時,我發送了2個參數。

感謝您的興趣,抱歉的混淆。也許更好的例外信息是爲了?

0

只有當網站網址包含尾部Default.aspx時,我的客戶才收到此例外。以下清除了HubConnection URL參數:

string serverUri = new Uri(HtmlPage.Document.DocumentUri, ".").ToString(); 
HubConnection connection = new HubConnection(serverUri, true); 
相關問題