首页 / 软件开发 / Silverlight / Silverlight与WCF之间的通信(1)SL客户端定时请求WCF服务
Silverlight与WCF之间的通信(1)SL客户端定时请求WCF服务2011-09-29 博客园 翁玉礼这几天在做一个Silverlight的页面聊天工具,基本上从头看了一遍Silverlight和WCF相关的东西,也 遇到了不少问题,刚开始是用Silverlight做了定时请求服务器的数据信息,后期准备利用WCF的双工通信 来做,通信过程分为两个部分记录。一 ,需要建立一个WCF的服务端这里直接在Silverlight的站点中新建了一个WCF服务,代码如下://先定义服务契约
[ServiceContract]
public interface IChatService
{
[OperationContract]
bool SendMessage(MessageInfo msg);
[OperationContract]
List<MessageInfo> GetMessages(string UserAccount);
}
//再定义数据契约
[DataContract]
public class MessageInfo
{
[DataMember]
public string ID { set; get; }
[DataMember]
public string Title { set; get; }
[DataMember]
public string Message { set; get; }
[DataMember]
public DateTime SendTime { set; get; }
[DataMember]
public DateTime? ReadTime { set; get; }
[DataMember]
public string Sender { set; get; }
[DataMember]
public string ReceiveUser { set; get; }
[DataMember]
public string ReceiveOrgan { set; get; }
[DataMember]
public string ReceiveMode { set; get; }
[DataMember]
public int State { set; get; }
[DataMember]
public int Receipt { set; get; }
[DataMember]
public string Source { set; get; }
}
//最后在webconfig中配置好服务
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="ChatBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="ChatBehavior" name="WebChat.Web.ChatService">
<endpoint address="" binding="basicHttpBinding" contract="WebChat.Web.IChatService"></endpoint>
</service>
</services>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>