首页 / 软件开发 / WCF / WF4.0实战(三):WCF服务
WF4.0实战(三):WCF服务2012-06-20 博客园 麒麟这篇文章,通过一个简单的WCF交互,讲解一下WF4.0中一组重要活动:Messaging,它包括:Receive、ReceiveAndSendReply、Send、 SendAndReceiveReply。这里将详细讲解ReceiveAndSendReply和SendAndReceiveReply两个活动的配置以及使用,以及它与普通的WCF的区别 。如果你了解WCF,你一定知道WCF可以缩略为ABC。A :Address (服务在哪里?),B: Binding (怎么才能访问服务?),C: Contract (提供了哪些服务?)。既然同样也是WCF服务,WF4.0中WCF服务同样也存在ABC的概念。我将一步一步通过实现WF中的wcf服务的 ABC来实现这个Demo,请你注意它与普通的WCF的区别。首先,我们定义一下用于数据交换的实体。定义Request消息ReservationRequest代码 1 [MessageContract(IsWrapped = false)]
2 public class ReservationRequest
3 {
4 private String _ISBN;
5 private String _Title;
6 private String _Author;
7 private Guid _RequestID;
8 private Branch _Requester;
9 private Guid _InstanceID;
10
11 #region Constructors
12 public ReservationRequest()
13 {
14 }
15
16 public ReservationRequest(String title, String author, String isbn,
17 Branch requestor)
18 {
19 _Title = title;
20 _Author = author;
21 _ISBN = isbn;
22 _Requester = requestor;
23 _RequestID = Guid.NewGuid();
24 }
25
26 public ReservationRequest(String title, String author, String isbn,
27 Branch requestor, Guid id)
28 {
29 _Title = title;
30 _Author = author;
31 _ISBN = isbn;
32 _Requester = requestor;
33 _RequestID = id;
34 }
35 #endregion Constructors
36
37 #region Public Properties
38 [MessageBodyMember]
39 public String Title
40 {
41 get { return _Title; }
42 set { _Title = value; }
43 }
44
45 [MessageBodyMember]
46 public String ISBN
47 {
48 get { return _ISBN; }
49 set { _ISBN = value; }
50 }
51
52 [MessageBodyMember]
53 public String Author
54 {
55 get { return _Author; }
56 set { _Author = value; }
57 }
58
59 [MessageBodyMember]
60 public Guid RequestID
61 {
62 get { return _RequestID; }
63 set { _RequestID = value; }
64 }
65
66 [MessageBodyMember]
67 public Branch Requester
68 {
69 get { return _Requester; }
70 set { _Requester = value; }
71 }
72
73 [MessageBodyMember]
74 public Guid InstanceID
75 {
76 get { return _InstanceID; }
77 set { _InstanceID = value; }
78 }
79 #endregion Public Properties
80 }