Sự khác biệt giữa Ứng dụng Dịch vụ WCF và Thư viện Dịch vụ WCF là gì?


118

Tôi đang phát triển một dịch vụ web WCF và tôi đã sử dụng mẫu Ứng dụng Dịch vụ WCF để làm điều đó.

Việc tạo "Ứng dụng Dịch vụ WCF" có đáp ứng yêu cầu này không? Ưu điểm của việc tạo Thư viện Dịch vụ WCF so với Ứng dụng Dịch vụ WCF là gì?

Câu trả lời:


148

Một ứng dụng dịch vụ bao gồm một máy chủ lưu trữ trang web đã được thiết lập cho bạn. Thư viện dịch vụ là một thư viện các dịch vụ mà máy chủ có thể tham khảo và khởi động.

Nếu bạn bắt đầu với thư viện dịch vụ (được khuyến nghị) thì bạn có thể chọn bất kỳ máy chủ nào bạn muốn (dịch vụ windows, IIS / ASP.NET hoặc thậm chí là ứng dụng bảng điều khiển) và bạn chỉ cần tham khảo thư viện của mình từ máy chủ mới. Việc chọn một Ứng dụng Dịch vụ sẽ giới hạn máy chủ của bạn chỉ ở IIS / ASP.NET (mặc dù điều này có thể phù hợp với mục đích của bạn, nhưng sẽ giới hạn các giao thức bạn có thể sử dụng).

Chỉnh sửa : Những thay đổi trong IIS kể từ khi tôi viết bài này cho phép nhiều giao thức hơn trên các dịch vụ được kích hoạt ASP.NET, vì vậy việc lựa chọn ứng dụng dịch vụ ít bị hạn chế hơn trước.


1
Có ai có thông tin về các giao thức / ràng buộc mới khi lưu trữ trên IIS không?
Allen Rice

@AndersonImes Tôi biết đây là một bài viết cũ, nhưng hy vọng bạn có thể giúp đỡ. Tôi đã tìm kiếm khắp nơi và không thể tìm thấy liệu WCF Service có nhằm thay thế Web Service trong .NET 3.5 hay không và do đó, tại sao mẫu đã bị xóa trong .NET 4? Cảm ơn. :)
Chiramisu

2
@Chiramisu WCF cung cấp nhiều lợi thế và tính linh hoạt hơn ... Tôi thấy những điều này rất hữu ích: Ví dụ về
Codeproject

@Sam Cảm ơn Sam, rất hữu ích. Vậy về cơ bản WCF có thể làm mọi thứ mà một Dịch vụ Web có thể và hơn thế nữa? Bất kỳ hạn chế Tôi tự hỏi ... :)
Chiramisu

1
@Chiramisu rất vui được giúp đỡ! Luôn có những hạn chế, nhưng WCF có ít hạn chế hơn nhiều so với một dịch vụ web điển hình, tôi tưởng tượng.
StoriKnow

10

Nếu tất cả những gì bạn có là một dự án mà tôi thấy chỉ thêm phức tạp nếu bạn tách biệt vì nó. Tôi đã sử dụng thư viện khi gặp một số trường hợp sử dụng cụ thể mà tôi phải lưu trữ trong cả dịch vụ windows và trong IIS.

Đối với IIS, bạn có thể di chuyển các lớp và giao diện vào thư viện nhưng vẫn giữ các tệp .SVC của bạn trong dự án web. Bạn phải chỉnh sửa tệp .SVC để trỏ đến các lớp đủ điều kiện thích hợp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.