WCF客戶端與服務端通信簡單入門教程


服務端

1.新建空白解決方案,然后再空白解決方案中新建:WCF服務應用程序。建完后如圖:

2.刪掉自動生成的IService1.cs和Service.svc並添加WCF服務文件StudentService.svc,VS會自動生成IStudentService.cs 在添加一個Student類,如圖:

Student.cs:

 1  /// <summary>
 2     /// DataContract數據約定,保證student類在WCF調用中被序列化
 3     /// DataMember 在被序列化的成員變量中必須加 [DataMember]標簽
 4     /// </summary>
 5     [DataContract]
 6     public class Student
 7     {
 8         [DataMember]
 9         public string StudentId { get; set; }
10         [DataMember]
11         public string StudentName { get; set; }
12     }

IStudentService.cs:

 1      /// <summary>
 2     ///  ServiceContract:服務約定,代表我們所能操作的接口集合,提    供功能點。 
 3     ///  OperationContract: 每個對外需要發布的方法都需要加上此標簽
 4     /// </summary>
 5     [ServiceContract]
 6     public interface IStudentService
 7     {
 8         [OperationContract]
 9         List<Student> RemoveStudent(string id);
10     }

StudentService.svc:

 1  public class StudentService : IStudentService
 2     {
 3 
 4         public List<Student> RemoveStudent(string id)
 5         {
 6             var students = new List<Student>() { 
 7                 new Student {StudentId="1",StudentName="學生1" }, 
 8                 new Student {StudentId="2",StudentName="學生2" } 
 9             };
10 
11             var student = students.Find(m => m.StudentId == id);
12 
13             students.Remove(student);
14 
15             return students;
16         }
17     }

到現在為止我們WCF服務端程序建好了,我們把StudentService.svc設為起始頁,F5運行一下,會彈出來WCF測試客戶端,如圖

雙擊左側的RemoveStudent(),在右側輸入值然后點擊調用,如圖:

結果如我們預料的那樣,StudentId為1的數據被刪掉了。

接下來我們把它部署到IIS上, 在默認文檔里添加StudentService.svc,然后瀏覽,如圖:

客戶端

1.新建空白解決方案,新建ASP.NET WEB應用程序,名稱為WCFClient,添加服務引用,服務引用地址為上圖地址中的

http://localhost:88/StudentService.svc?wsdl 

,如圖:

WCFTest.aspx:

 1 <form id="form1" runat="server">
 2         <div>
 3             <table>
 4                 <tr>
 5                     <td> <asp:TextBox ID="txtStudentId" runat="server"></asp:TextBox></td>
 6                      <td><asp:Button ID="btnSubmint" runat="server"  Text="刪除" OnClick="btnSubmint_OnClick"/></td>
 7                 </tr>
 8             </table>
 9            
10         </div>
11     </form>

WCFTest.aspx.cs:

 1         protected void btnSubmint_OnClick(object sender, EventArgs e)
 2         {
 3             var wcfService = new WCFService.StudentServiceClient();
 4 
 5             var str = string.Empty;
 6 
 7             wcfService.RemoveStudent(this.txtStudentId.Text.Trim())
 8                 .ToList()
 9                 .ForEach(m =>str += m.StudentId + ":" + m.StudentName);
10 
11             Response.Write(str);
12         }

運行下,看下效果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM