C# xSockets和Windows Phone 8应用程序调用方法

C# xSockets和Windows Phone 8应用程序调用方法,c#,windows-phone-8.1,xsockets.net,C#,Windows Phone 8.1,Xsockets.net,我正在使用xSockets在WindowsPhone8上创建一个简单的聊天应用程序,但我有以下问题,运行时它说“不包含调用方法的定义”,我在某个地方读到我必须使用Dispatch,但也没有运气 我的代码: private async void Connect() { Connection = new XSocketClient(ServerURI, Origin, "chat"); chatController = Connection.Controll

我正在使用xSockets在WindowsPhone8上创建一个简单的聊天应用程序,但我有以下问题,运行时它说“不包含调用方法的定义”,我在某个地方读到我必须使用Dispatch,但也没有运气

我的代码:

private async void Connect()
    {
        Connection = new XSocketClient(ServerURI, Origin, "chat");

        chatController = Connection.Controller("chat");

        //Handle incoming event from server: use Invoke to write to console from XSocket's thread
        chatController.On<string>("addMessage", message => this.Invoke((Action)(() =>
                       RichTextBoxConsole.Text =(String.Format("{0}" + Environment.NewLine, message))
                   )));

        try
        {
            Connection.Open();
            comboBoxLocation.SelectedIndex = 0;

            await chatController.SetProperty("username", UserName);
        }
        catch
        {
            StatusText.Text = "Unable to connect to server: Start server before connecting clients.";
            No connection: Don't enable Send button or show chat UI
            return;
        }
    }
private async void Connect()
{
连接=新的XSocketClient(ServerURI,源,“聊天”);
chatController=Connection.Controller(“聊天”);
//处理来自服务器的传入事件:使用Invoke从XSocket的线程写入控制台
chatController.On(“addMessage”,message=>this.Invoke((操作)(()=>
RichTextBoxConsole.Text=(String.Format(“{0}”+Environment.NewLine,message))
)));
尝试
{
Connection.Open();
comboBoxLocation.SelectedIndex=0;
等待chatController.SetProperty(“用户名”,用户名);
}
接住
{
StatusText.Text=“无法连接到服务器:在连接客户端之前启动服务器。”;
无连接:不启用发送按钮或显示聊天界面
回来
}
}

看起来您刚刚将WinForms的示例从复制到WindowsPhone 8.1项目中

我添加了一个WP8.1项目进行测试,您需要的代码是这个,而不是“调用”的东西

chatController.On(“addMessage”,message=>this.Dispatcher.RunAsync(coredipatcherpriority.Normal,()=>
{
this.Messages.Text+=String.Format(“{0}”+Environment.NewLine,message);
})); 
chatController.On<string>("addMessage", message => this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
    this.Messages.Text += String.Format("{0}" + Environment.NewLine, message);
}));