Vì vậy, tôi đang sử dụng WCF và muốn ghi lại (các) giao diện và dịch vụ của mình để cung cấp cho một công ty khác cho một ứng dụng nội bộ. Cách tốt nhất để ghi lại các giao diện đó là gì? Tôi muốn có tài liệu nội tuyến với mã, và sau đó có một cái gì đó prettify để đầu ra HTML, nhưng tôi không chắc chắn nếu có một cách được đề nghị để làm điều đó.Cách tốt nhất để lập tài liệu giao diện WCF là gì?
Trả lời
Sử dụng tài liệu XML cho điều đó. Có rất nhiều thẻ meta thông minh sẽ cho phép bạn đặt mẫu mã vào chúng, tham chiếu giữa các hoạt động, ngoại lệ được ném, v.v.
Sau đó, bạn có thể sử dụng Sandcastle (+ một số GUI bạn có thể tìm thấy trên Codeplex) để tạo chm, hoặc tài liệu html.
Sử dụng đầu ra XML từ trình biên dịch đẹp ... nhưng đó là trải nghiệm của tôi khó thể hiện sự phức tạp hoàn chỉnh của dịch vụ và các biến thể, phụ thuộc, v.v. Bạn nên duy trì một tài liệu thật riêng biệt (Word, HTML, Wiki) để trang trải tất cả.
Tôi sử dụng hai tệp XSL - một tệp để ghi tài liệu WSDL cho các thao tác, một để ghi lại XSD cho dữ liệu được truyền xung quanh. Thật không may, cho đến nay, tôi đã không tìm thấy một giải pháp cố kết duy nhất, vì vậy tôi làm việc với hai tệp XSLT chuyển đổi WSDL và XSD tương ứng thành tài liệu HTML.
WSDL Viewer thực hiện công việc cho WSDL và tạo tài liệu HTML đầu tiên và xs3p thực hiện tương tự cho dữ liệu chứa trong tệp XSD.
Tôi sẽ đặt hợp đồng giao diện của mình vào một dll chung và đưa ra. Nó cung cấp cho cả hai nhận xét xml về hợp đồng mà không cung cấp chi tiết về dịch vụ cũng như cho phép họ triển khai dịch vụ ở chế độ ngoại tuyến để kiểm tra cho đến khi họ sẵn sàng sử dụng nó. Trên hết, họ có thể bỏ qua wsdl và sử dụng ChannelFactory để tạo kênh.
Chúng tôi sử dụng WCFExtras (http://www.codeplex.com/WCFExtras) cho điều đó.
Trong số các tính năng khác nó cho phép xuất khẩu trực tiếp các ý kiến mã xml của bạn vào WSDL được tạo ra, ví dụ như kiểm tra như thế nào những ý kiến xml:
/// <summary>
/// Retrieve the tickets information for the specified order
/// </summary>
/// <param name="orderId">Order ID</param>
/// <returns>Tickets data</returns>
[OperationContract]
TicketsDto GetTickets(int orderId);
nhận được phản ánh trong WSDL của giao diện mà:
<wsdl:operation name="GetTickets">
<wsdl:documentation>
<summary> Retrieve the tickets information for the specified order </summary> <param name="orderId">Order ID</param> <returns>Tickets data</returns>
</wsdl:documentation>
<wsdl:input wsaw:Action="xxxx" message="tns:PartnerAPI_GetTickets_InputMessage"/>
<wsdl:output wsaw:Action="xxxx" message="tns:PartnerAPI_GetTickets_OutputMessage"/>
</wsdl:operation>
Trích đoạn từ tài liệu của họ:
Thêm tài liệu WSDL từ mã nguồn XML Nhận xét Tiện ích mở rộng này cho phép Bạn có thể thêm tài liệu WSDL (chú thích) trực tiếp từ các chú thích XML trong tệp nguồn của bạn. Các nhận xét này sẽ được xuất bản như một phần của WSDL và có sẵn cho các công cụ WSDL biết cách tận dụng chúng (ví dụ: Apache Axis wsdl2java và các công cụ khác). Bản phát hành 2.0 cũng bao gồm một trình nhập khẩu WSDL phía máy khách sẽ biến các nhận xét WSDL đó thành các nhận xét XML trong mã proxy được tạo ra.
Nó cũng sẽ hiển thị trong IDE? Giống như trong IntelliSense của Visual Studio? – Farinha
Chỉ trong trường hợp ai đó xảy ra để tìm thấy điều này, mới nhất là [ở đây] (https://wcfextrasplus.codeplex.com).Bạn cũng có thể tải xuống bằng cách sử dụng [nuget] (https://www.nuget.org/packages/WCFExtrasPlus/2.4.0). – Joyce
Trong khi không hiển nhiên ngay lập tức, nhận xét trên đề cập đến WCFExtras +, một dự án khác, nhưng một sự tiếp tục của công việc trên WCFExtras. Đồ tốt. – TylerY86
- 1. Cách tốt nhất để sắp xếp một mảng dựa trên giao diện trong WCF là gì?
- 2. Cách tốt nhất để học WCF là gì?
- 3. Cách tốt nhất để xác định hằng số trong android, lớp tĩnh, giao diện hoặc tài nguyên xml là gì?
- 4. Cách tốt nhất để triển khai máy trạng thái giao diện người dùng là gì?
- 5. Cách tốt nhất để chạy lệnh shell từ giao diện dựa trên web là gì?
- 6. Cách tốt nhất để có được giao diện điều khiển-đầu vào trong Java là gì?
- 7. Cách tốt nhất để truy cập các giao diện COM từ máy chủ J2EE là gì?
- 8. Bất kỳ tài liệu nào tốt cho giao diện cblas?
- 9. Cách tốt nhất để giao tiếp giữa dịch vụ WCF và các luồng riêng biệt là gì?
- 10. Cách tốt nhất để sử dụng JavaDoc để tạo tài liệu cho Java enum là gì?
- 11. Có cách nào tốt để tạo tài liệu cho các giao diện swig không?
- 12. Cách tốt nhất để phân tích cú pháp tài liệu Microsoft Office và PDF là gì?
- 13. Cách tốt nhất để tạo tài liệu REST API là gì?
- 14. Cách tốt nhất để đưa tệp PDF vào tài liệu Sphinx của tôi là gì?
- 15. Cách tốt nhất để gửi nhiều tệp đến dịch vụ WCF là gì?
- 16. Chính xác "lập trình dựa trên giao diện" là gì?
- 17. cách đánh dấu giao diện là DataContract trong WCF
- 18. Cách tốt nhất để giao tiếp C# và Java là gì?
- 19. Cách tốt nhất để phiên bản một API Web WCF là gì?
- 20. Cách sử dụng tốt nhất của các cửa hàng tài liệu là gì?
- 21. Cơ sở dữ liệu "tốt nhất" để nhúng là gì?
- 22. Thay thế Serializable tốt nhất cho giao diện "Set" và "Collection" là gì?
- 23. Khung JavaScript nhẹ tốt nhất là gì?
- 24. Cách tốt nhất để bắt ngoại lệ WCF trong Silverlight là gì?
- 25. Cách tốt nhất để kiểm tra các dịch vụ WCF là gì?
- 26. Cách tốt nhất để jSON tuần tự hóa một .NET DataTable trong WCF là gì?
- 27. Cách tốt nhất để đúc từng mục trong truy vấn LINQ to Entities thành một giao diện là gì?
- 28. giao diện tĩnh trong java là gì?
- 29. Tài liệu giao diện và cách triển khai của chúng
- 30. Cách tốt nhất để băm url trong ruby là gì?
Triển khai WCFExtras 'là tùy chọn cao cấp. – TylerY86
[xây dựng] Nó liên kết trực tiếp tài liệu XML với bộ mô tả. Sử dụng tài liệu XML là thích hợp, nhưng trong khi Sandcastle hoặc SHFB hoàn toàn thích hợp cho tài liệu độc lập, nó chỉ là bên thứ ba như WCFExtras, nhưng ít kịch bản cụ thể hơn. – TylerY86