|
||||||||
|
||||||||
|
|
Công Cụ | Xếp Bài |
19-12-2009, 10:22 AM | #1 |
Guest
Trả Lời: n/a
|
Cài đặt WCF và triển khai
Cài đặt và triển khai WCF
Bạn có thể hình dung ứng dụng chúng ta sẽ xây dựng như sau. Công ty Contoso cần xây dựng một hệ thống quản lý các nhân viên của công ty. Ban đầu, chúng ta cần phải xây dựng một ứng dụng ở server
Bước 1. Tạo ứng dụng 1. Mở Visual Studio 2008, chọn tạo mới C# Console Project đặt tên là StaffService, xem Figure 1 Bước 2. Tạo contract dịch vụ 1. Định nghĩa giao diện sẽ được sử dụng như là contract cho ứng dụng của chúng ta, thêm vào thuộc tính ServiceContract cho giao diện đó 2. Định nghĩa 2 hàm như đoạn mã nguồn sau, các hàm này đóng vai trò là các contract operations miêu tả chức năng của dịch vụ [ServiceContract]Bước 3. Cài đặt dịch vụ 1. Định nghĩa lớp Staff để cài đặt giao diện IStaff 2. Thực hiện cài đặt cho 2 hàm được định nghĩa trong giao diện IStaff namespace StaffServiceBước 4. Tạo vật chứa dịch vụ 1. Thêm đoạn mã nguồn sau vào hàm main ServiceHost sh = new ServiceHost(typeof(Staff)); try { sh.Open(); Console.WriteLine("Staff Service opened successfully"); Console.WriteLine("Press Enter to terminate Staff Service"); Console.ReadLine(); } finally { sh.Close(); } Bước 5. Tạo các cấu hình dịch vụ 1. Compile project của bạn, đảm bảo rằng không có lỗi xảy ra trong quá trình biên dịch 4. Đặt contract dịch vụ là StaffService.IStaff 6. Tiếp theo chọn phương pháp làm việc là Advanced Web Services interoperability, và đặt kiểu liên kết là Simplex Communication 7. Đặt mặc định (trống) cho trường địa chỉ, và bấm Finish, bạn sẽ thấy kết quả sau 8. Giờ bạn bấm vào biểu tượng Host phía bên trái, sau đó chọn thêm mới địa chỉ cơ sở cho dịch vụ của bạn, đặt địa chỉ là http://localhost:8000/StaffService 9. Mở rộng nút EndPoints, chọn điểm cuối, rồi đặt tên là ep1 Figure 9 Đặt tên cho điểm cuối 10. Kết thúc quá trình này bạn sẽ có tệp cấu hình như sau: <?xml version="1.0" encoding="utf-8"?> <configuration> <system.serviceModel> <services> <service name="StaffService.Staff"> <endpoint address="" binding="wsHttpBinding" bindingConfiguration="" name="ep1" contract="StaffService.IStaff" /> <host> <baseAddresses> <add baseAddress="http://localhost:8000/StaffService" /> </baseAddresses> </host> </service> </services> </system.serviceModel> </configuration> 2.2.2 Phát hành thông tin về dịch vụ Để phát hành thông tin về dịch vụ cho các ứng dụng khác khai thác, ta cần theo các bước sau: 1. Mở rộng nút Advanced (bên trái), sau đó chọn nút Service Behaviors và bấm vào New Service Behavior Configuration ở bên phải 5. Cuối cùng là tạo điểm cuối để các ứng dụng có thể kết nối tới dịch vụ để lấy các thông tin về dịch vụ. Bấm chuột phải vào Endpoints vào chọn New Service Endpoint sau đó đặt cấu hình như sau:
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.serviceModel> <behaviors> <serviceBehaviors> <behavior name="MetaDataBehavior"> <serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:8000/StaffService" /> </behavior> </serviceBehaviors> </behaviors> <services> <service behaviorConfiguration="MetaDataBehavior" name="StaffService.Staff"> <endpoint address="" binding="wsHttpBinding" bindingConfiguration="" name="ep1" contract="StaffService.IStaff" /> <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="" name="ep2" contract="IMetadataExchange" /> <host> <baseAddresses> <add baseAddress="http://localhost:8000/StaffService" /> </baseAddresses> </host> </service> </services> </system.serviceModel> </configuration> 7. Sử dụng Internet Explorer truy xuất tới địa chỉ http://localhost:8000/StaffService bạn sẽ thấy được những gì bạn cần Nếu hay xin cho vài câu thanks Theo: aspvn.net |
|
|