返回首页

大家好,

我有一个问题,事件和委托。基本上我有两个相同的解决方案下的项目。一个项目是服务器和其他客户端。客户端窗体包含一个文本框登录和登录按钮,丰富的文本框和按钮的耳语。现在人消息发送耳语RTB的客户端的用户点击时要更新的消息,但对我来说,我recieving一个异常说对象未设置的实例。服务器和客户端的代码有如下

客户端代码

namespace ChatClient

{

    [CallbackBehavior(UseSynchronizationContext = false)]

    public partial class Client : Form,IChatCallback

    {

        public delegate void ReceiveMsg(string sender, string message);

        public event ReceiveMsg Receivemessage;

 

        IChat chatter = null;

        DuplexChannelFactory<ichat> connect;

        InstanceContext instanceContext = null;

 

        

        public string CurrentUser;

        public Client()

        {

            InitializeComponent();

            

        }

 

        

 

        private void login_btn_Click(object sender, EventArgs e)

        {

            //CallBackHandler instance = new CallBackHandler();

            //instanceContext = new InstanceContext(new CallBackHandler());

            Client instance = new Client();

            instanceContext = new InstanceContext(new Client());

          

            connect = new DuplexChannelFactory<ichat>(instanceContext, "TcpBinding");

            chatter = connect.CreateChannel();

            

            if (!string.IsNullOrEmpty(login_txt.Text))

            {

                CurrentUser = login_txt.Text;

                chatter.JoinChat(CurrentUser);

               

            }

            else

            {

                MessageBox.Show("Please Enter Valid UserName", "WARNING", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }

        }

 

        private void whispher_btn_Click(object sender, EventArgs e)

        {

            

            chatter.SendMessage(login_txt.Text, rtxt_message.Text);

            //Trigger event

            Receivemessage(login_txt.Text, rtxt_message.Text);

            //after execution of this statement it throws object reference not set

            //to the instance

                      

            

        }

 



 

        #region IChatCallback Members

 

        public void ReceiveMessage(string from, string message)

        {

            

             rtxt_message.AppendText("hellO");

            

        }

</ichat></ichat>

服务器代码

{C}

回答

评论会员:O 时间:2