2010-03-12 37 views
23

Thư viện dịch vụ WCF làm thư viện lớp thông thường nào không?Thư viện dịch vụ WCF và loại dự án thư viện lớp học

Chỉnh sửa: Tôi đã đăng câu trả lời của riêng mình. Tôi có thiếu gì không? Có phải họ về cơ bản cả hai thư viện lớp chỉ với một vài lớp mẫu được thêm vào?

+2

@qntmfred: "Về cơ bản, chúng chỉ là thư viện lớp với một vài lớp mẫu", mọi thứ chỉ là một dự án thư viện lớp với các lớp mẫu và o đã thêm cài đặt. –

Trả lời

25

Tôi đã tạo cả hai và so sánh. Đây là những gì tôi tìm thấy.

Thư viện WCF Service

  • thêm tài liệu tham khảo để System.Runtime.SerializationSystem.ServiceModel. không chứa tham chiếu đến System.Data.DataSetExtensions làm Thư viện lớp.
  • chứa các lớp dịch vụ mẫu IService1, CompositeTypeService1
  • thêm app.config với một wsHttpBinding và một thiết bị đầu cuối dịch vụ mexHttpBinding
  • thêm /client:"WcfTestClient.exe" như một tùy chọn dòng lệnh debug trong các thuộc tính dự án
  • thêm một tab WCF Options trong các thuộc tính của dự án. Tab này chứa tùy chọn để khởi động máy chủ dịch vụ WCF khi gỡ lỗi một dự án khác trong cùng một giải pháp
  • bật tùy chọn Sign the ClickOnce manifests trong tab Ký hiệu của thuộc tính dự án. tùy chọn này bị vô hiệu hóa trong Thư viện Lớp
+0

mà độc đáo tổng kết những gì Thư viện Dịch vụ WCF, thực sự! –

5

Nó cũng chạy tiện ích Máy chủ lưu trữ WCF trên F5. Công tắc /client mà bạn nhận thấy đang được chuyển tới Máy chủ dịch vụ WCF để cho biết máy khách nào sẽ khởi chạy. Trong trường hợp này, nó đang được cho biết để khởi động WCF Test Client.

Điều này mang lại cho bạn một trải nghiệm F5 tuyệt vời. Đặt điểm ngắt trong dịch vụ của bạn, nhấn F5, sử dụng Trình kiểm tra để gọi hoạt động dịch vụ của bạn và các điểm ngắt của bạn sẽ bị trúng.

+1

@Marc: Tôi đã quá vội vàng. Kiểm tra chỉnh sửa để xem những gì tôi đã nhận được (rằng chuyển đổi/khách hàng được chuyển đến máy chủ thử nghiệm để nó có thể khởi chạy ứng dụng khách) –

+0

Biểu tượng nút thú vị. – Benny

+0

@Benny: đó chỉ là 'F5'. Chỉ sử dụng thường xuyên. –

2

Tôi đã thử nghiệm trong dự án VS 2010, sử dụng thư viện lớp như loại WCF Hosting, nhưng không thể tạo lớp wsdl hoặc proxy.

Dự án WCF khác với thư viện lớp bình thường, vì nó thêm nhiều dll trong tham chiếu giải pháp/dự án và cũng có thể thêm mẫu (Service1.svc), mà bạn cần triển khai trong máy chủ IIS và tạo 2 tệp đầu ra bằng cách sử dụng svcutil.exe.

0

Như đã trình bày here:

Trong các yếu tố PropertyGroup đầu tiên làm như sau:

Look cho các phần tử ProductVersion.Cập nhật các phiên bản sản phẩm để phù hợp với những điều sau đây:

<ProductVersion>8.0.50727</ProductVersion> 

Dưới đây là yếu tố AssemblyName, thêm các yếu tố sau:

<ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 

<StartArguments>/client:"WcfTestClient.exe"</StartArguments> 

Di chuyển đến cuối của tập tin, và dưới đây là yếu tố nhập thêm tiện ích sau :

<ProjectExtensions> 
    <VisualStudio> 
     <FlavorProperties GUID="{3D9AD99F-2412-4246-B90B-4EAA41C64699}"> 
     <WcfProjectProperties> 
      <AutoStart>True</AutoStart> 
     </WcfProjectProperties> 
     </FlavorProperties> 
    </VisualStudio> 
    </ProjectExtensions> 
Các vấn đề liên quan