2011-09-20 20 views
16

Tôi đã có cơ hội để dành một số lượng lớn giờ cố gắng sử dụng WCF trong mono. Nó chỉ đơn giản là quá kém thực hiện tại thời điểm này để được đưa vào một môi trường sản xuất, cho bất cứ điều gì ngoài các ứng dụng đồ chơi. Nó không tồn tại một tải 24/7.Tùy chọn cho RPC trong Mono? (WCF lựa chọn thay thế)

Tôi hiện đang có WCF trên Mono đang chạy trong một môi trường sản xuất, nhưng tôi cần phải di chuyển ra khỏi nó, ít nhất là trong thời gian ngắn, để mang lại sự ổn định cho phần mềm của tôi. Hiện tại tôi đang sống sót bằng cách khởi động lại quy trình vài giờ một lần và thường là không đủ.

Tôi đang tìm kiếm các giải pháp thay thế tiềm năng. Tất cả các thực thể giao tiếp của tôi đều dựa trên .net, với một số là Mono trên Linux và một số khác là ms.net trên Windows Server. Tôi rất muốn cuộn lớp RPC của riêng tôi với protobuf-net làm lớp tuần tự hóa, nhưng tôi không muốn làm điều này. Điểm cộng lớn với protobuf-net là nó có hỗ trợ C++ tốt, đó là thứ mà tôi đánh giá cao.

Có ai ngoài đó đạt được sự ổn định với RPC trên Mono không? Nếu đúng thế thì bạn đã làm gì?

Đã cập nhật: Tôi không đề cập đến việc tôi đang tìm kiếm thông báo song công trạng thái. Đây là một phần thông tin quan trọng đáng kể. Tôi không bị mắc kẹt với nó, nhưng tôi rất muốn nó. WCF cung cấp điều này với các kênh song công net-tcp.

+0

Đây là một câu hỏi tuyệt vời và tôi thực sự hy vọng sẽ nhìn thấy một số câu trả lời đàng hoàng. Tôi cũng vậy, chạy vào cùng một vấn đề với mono. Insofar, mono không phải là thứ mà tôi có thể tin tưởng trong môi trường sản xuất khi nói đến WCF. –

Trả lời

8

Hãy thử ServiceStack cho REST/WS

Một hiện đại, mã đầu tiên, DTO-driven, WCF dịch vụ web thay thế khuôn khổ khuyến khích thực hành tốt nhất cho việc tạo DRY, cao Biến, khả năng mở rộng REST của các dịch vụ web

Nếu bạn đang tìm kiếm thứ gì đó song công và dựa trên tcp, bạn có thể xem xét zeroMQ, mặc dù tập hợp sự cố hơi khác so với WCF.

+0

+1 Điều này trông giống như một lựa chọn tuyệt vời cho các dịch vụ web RESTful, và một lựa chọn thay thế cho một tính năng WCF. Tôi sẽ tìm thấy một sử dụng cho điều này ở một số nơi, nhưng (trừ khi tôi đang thiếu một cái gì đó), bạn không thể thực hiện một dịch vụ song công nhà nước. Tôi đã cập nhật câu hỏi của mình để làm nổi bật chi tiết này. –

+0

@John Hargrove: Bạn cũng có thể quan tâm đến zeroMQ (đã cập nhật câu trả lời của tôi) nếu bạn quan tâm đến tcp hai chiều. – Brook

+0

high-perfo * mance ...: -/ – Danra

1

RestSharp thường được đề cập trong kênh IRC của Mono (ví dụ: #mono trên GimpNET) thay thế và làm việc với Mono, MonoTouch, Silverlight, Windows Phone 7 và, tất nhiên, FX thông thường.

+0

Tôi sẽ xem xét khả năng này. Tình cảm của tôi giống như tôi đã đề cập đến Brook trong câu trả lời của anh ấy: ServiceStack. Nó thay thế một khía cạnh của WCF, nhưng có rất nhiều WCF để thay thế, và tôi có những nơi mà một dịch vụ REST sẽ không cắt nó. –

0
+0

Có ai có thể bình luận về độ tin cậy của điều khiển từ xa trong Mono không? Tôi không thực sự là một fan hâm mộ của remoting, nhưng nếu nó hoạt động, nó hoạt động. –

+0

Nó hoạt động như một sự quyến rũ. Nó là một mảnh cực kỳ ổn định của sw. – pablo