我想在Silverlight上基於此博客實現SignalR:SignalR and Silverlight。當我嘗試.Invoke()我得到一個運行時錯誤「System.InvalidOperationException:在數據可以發送之前必須調用啓動方法。在Microsoft.AspNet.SignalR.Client.Connection.Send(字符串數據)在Microsoft.AspNet.SignalR.Client.Hubs.HubProxy.Invoke [T](字符串方法,對象[]參數)...「無法在Silverlight客戶端打開信號連接器
我有_conn.Start()在我的連接。如果我在調用之前嘗試再次啓動(),則會引發異常。這裏是我的代碼:
private IHubProxy _hub;
private HubConnection _conn;
public AddProductView()
{
InitializeComponent();
var url = Application.Current.Host.Source.GetComponents(UriComponents.Scheme | UriComponents.HostAndPort,
UriFormat.Unescaped);
_conn = new HubConnection(url);
_hub = _conn.CreateHubProxy("SilverlightPrism.Mvc.Services.ProductHub");
_hub.On<string>("NewMessage", message => Deployment.Current.Dispatcher.BeginInvoke(() => DoAddItem(message)));
_conn.Start();
}
private void DoAddItem(string item)
{
var product = DeserializeToProduct(item);
ProductData.Products.Add(product);
}
private void buttonAdd_Click(object sender, RoutedEventArgs e)
{
Random random = new Random();
var id = Guid.NewGuid();
var product = new Product
{
Price = random.Next(1000,100000),
ProdId = id,
ProdName = "New prod."
};
var jsonMessage = SerializeToJsonString(product);
_hub.Invoke("SendMessage", jsonMessage);
}
它拋出異常_hub.Invoke();
如何正確獲取集線器連接併發送消息?
謝謝你,讓我感動着看到,我認爲錯誤是越來越吞噬, 找不到服務器。一旦我修復了網址,我應該開展業務。 – Steve 2013-03-23 23:05:38