使用SilverLight构建插件式应用程序(九) —聊天插件客户端的实现
2008-10-30 11:48:57 来源:WEB开发网这次是一个在线聊天的插件,插件参考了MSDN中Duplex WCF服务的实现和网上一些聊天程序,基本可以实现用户登录和聊天,如果用户不存在就保存聊天数据到数据库,等用户下次登陆的时候读入。
这个是聊天时候的图例:
为什么不使用在客户单添加WCF服务的方法生成代理类然后进行编程序,首先是生成的代理类我没有发现可以实现WCF双向传输的方法,在网上也没有找到,所以就参照msdn和一些网上的代码,自己编写代理类进行操作:
1: 定义聊天时候传输聊天的数据实体,参照服务器端的聊天数据实体的定义,在客户端定义如下的实体:
[DebuggerStepThroughAttribute()]
[GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
[DataContractAttribute(Name = "ChatMessage", Namespace = "http://schemas.datacontract.org/2004/07/")]
public partial class ChatMessage : object
{
private string DataField;
private string FromField;
private string ToField;
private int TypeField;
private byte[] ContentField;
[DataMemberAttribute()]
public string Data
{
get
{
return this.DataField;
}
set
{
if ((object.ReferenceEquals(this.DataField, value) != true))
{
this.DataField = value;
}
}
}
[DataMemberAttribute()]
public string From
{
get
{
return this.FromField;
}
set
{
if ((object.ReferenceEquals(this.FromField, value) != true))
{
this.FromField = value;
}
}
}
[DataMemberAttribute()]
public string To
{
get
{
return this.ToField;
}
set
{
if ((object.ReferenceEquals(this.ToField, value) != true))
{
this.ToField = value;
}
}
}
[DataMemberAttribute()]
public int Type
{
get
{
return this.TypeField;
}
set
{
if ((object.ReferenceEquals(this.TypeField, value) != true))
{
this.TypeField = value;
}
}
}
[DataMemberAttribute()]
public byte[] Content
{
get
{
return this.ContentField;
}
set
{
if ((object.ReferenceEquals(this.ContentField, value) != true))
{
this.ContentField = value;
}
}
}
Tags:使用 SilverLight 构建
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接