大家好,
我有一个问题,事件和委托。基本上我有两个相同的解决方案下的项目。一个项目是服务器和其他客户端。客户端窗体包含一个文本框登录和登录按钮,丰富的文本框和按钮的耳语。现在人消息发送耳语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}