Chia Sẽ Kinh Nghiệm Về IT



Tìm Kiếm Với Google
-


Gởi Ðề Tài Mới  Gửi trả lời
 
Công Cụ Xếp Bài
Tuổi 19-12-2009, 10:22 AM   #1
hoctinhoc
Guest
 
Trả Lời: n/a
Cài đặt WCF và triển khai

Cài đặt và triển khai
WCF


2.1.1 .NET Framework 3.5 SP1:
2.1.2 Visual Studio 2008 SP1
  • Sau khi cài đặt .NET Framework 3.5 SP1, bạn thực hiện cài đặt Visual Studio 2008 bản Express hoặc bản Professional tuỳ theo bạn có bản nào. Nếu kinh phí hạn hẹp, bạn có thể tải về bản Visual Studio 2008 Express Edition miễn phí trên trang web của Microsoft, link ở đây: http://go.microsoft.com/?linkid=9350817
  • Giờ đây bạn đã sẵn sàng để tạo ra dịch vụ đầu tiên trên WCF
2.2 Tạo dịch vụ WCF đầu tiên của bạn
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
  • Cung cấp danh sách các nhân viên, và
  • Cho phép hỏi về ngày sinh của một nhân viên nào đó.
  • Sau đó cần một ứng dụng phía client để làm những việc sau
  • Hiển thị danh sách các nhân viên
  • Chọn một nhân viên và hiển thị ngày sinh của nhân viên đó.
2.2.1 Tạo ứng dụng phía 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]
public interface IStaff
{
[OperationContract]
string DisplayStaff();
[OperationContract]
DateTime GetBirthday(int staffId);
}

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 StaffService
{
public class Staff : IStaff
{
#region IStaff Members
public string DisplayStaff()
{
return "1. Lê Anh\n2. Trần Văn Bình\n3. Nguyễn Văn Cương\n4.Đinh Văn Dũng";
}
public DateTime GetBirthday(int staffId)
{
switch (staffId)
{
case 1:
return new DateTime(1979, 1, 20);
case 2:
return new DateTime(1975, 5, 1);
case 3:
return new DateTime(1967, 2, 26);
case 4:
return new DateTime(1958, 10, 11);
default:
return DateTime.Now;
}
}
#endregion
}
}
Bướ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
2. Mở trình soạn thảo dịch vụ, Service Configuration Editor và nạp tệp ứng dụng, bằng cách trong Visual Studio 2008, chọn menu Tools, chọn lựa chọn WCF Service Configuration Editor
3. Chọn New Config, đặt tên là Staff.Service
Figure 3 Tạo config cho service
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:

  • Name: ep2
  • Address: mex
  • Binding: mexHttpBinding
  • Contract: ImetaDataExchange
6. Bấm menu Save bạn sẽ có tệp 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

  Trả lời ngay kèm theo trích dẫn này
Gửi trả lời


Công Cụ
Xếp Bài

Quyền Hạn Của Bạn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Hình Cảm xúc đang Mở
[IMG] đang Mở
Mã HTML đang Tắt




Bây giờ là 02:11 AM. Giờ GMT +7



Diễn đàn tin học QuantriNet
quantrinet.com | quantrimang.co.cc
Founded by Trương Văn Phương | Developed by QuantriNet's members.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.