Tôi hiện đang xem Tiết kiệm để sử dụng làm khung RPC cho các ứng dụng của chúng tôi (chủ yếu được viết bằng C# và Silverlight). Tôi đã đi xa như thực hiện một dịch vụ và tiêu thụ nó từ một ứng dụng giao diện điều khiển C# (sử dụng một ổ cắm như vận chuyển).Làm cách nào để triển khai dịch vụ Tiết kiệm C# và tiêu thụ nó với ứng dụng Silverlight?
Đối với C# phía máy chủ mã của tôi trông giống như: (về cơ bản sao chép các hướng dẫn kèm theo mã nguồn)
MyServiceHandler handler = new MyServiceHandler();
MyService.Processor processor = new MyService.Processor(handler);
TServerTransport serverTransport = new TServerSocket(9090);
TServer server = new TSimpleServer(processor, serverTransport);
server.Serve();
Đối với mã phía khách hàng nó trông giống như:
TTransport transport = new TSocket("localhost", 9090);
TProtocol protocol = new TBinaryProtocol(transport);
MyService.Client client = new MyService.Client(protocol);
transport.Open();
client.SomeServiceCall();
Tuy nhiên , chúng tôi sẽ sử dụng dịch vụ từ một khách hàng Silverlight, và tiếc là không có hỗ trợ cho các ổ cắm trong Silverlight cho Tiết kiệm. Tôi giả sử tôi buộc phải sử dụng giao tiếp HTTP giữa khách hàng và dịch vụ, sử dụng các lớp C# THttpClient và THttpHandler của Thrift? Tôi không thể tìm thấy bất kỳ ví dụ về làm thế nào để làm điều này ra khỏi đó, bất cứ ai có thể chỉ cho tôi đi đúng hướng? Một số ví dụ về máy chủ và mã phía máy khách sẽ được đánh giá cao.
Với Silverlight, * và nhiều cân nhắc bảo mật khác nhau *, mẫu thường gọi các dịch vụ bên ngoài từ máy chủ/dịch vụ Web Silverlight hoặc một dịch vụ WCF hoặc RIA khác trên máy chủ của bạn. Điều này có nghĩa là ứng dụng Silverlight của bạn có một cổng gọi cho bất kỳ dịch vụ nào. Bạn có thể cung cấp bất kỳ mã mẫu nào không? –
Tôi đã thêm một số mã mẫu –
MyService trông như thế nào? – Chazt3n