c# - 如何实现 C# Thrift 服务并使用 Silverlight 客户端使用它?

标签 c# silverlight thrift

我目前正在考虑将 Thrift 用作我们应用程序的 RPC 框架(主要使用 C# 和 Silverlight 编写)。我已经实现了一项服务并从 C# 控制台应用程序(使用套接字作为传输)使用它。

对于 C# 服务器端代码,我的代码如下所示:(基本上复制源代码中包含的教程)

MyServiceHandler handler = new MyServiceHandler();
MyService.Processor processor = new MyService.Processor(handler);
TServerTransport serverTransport = new TServerSocket(9090);
TServer server = new TSimpleServer(processor, serverTransport);
server.Serve();

客户端代码如下:

TTransport transport = new TSocket("localhost", 9090);
TProtocol protocol = new TBinaryProtocol(transport);
MyService.Client client = new MyService.Client(protocol);
transport.Open();
client.SomeServiceCall();

但是,我们将从 Silverlight 客户端使用该服务,不幸的是,Silverlight for Thrift 不支持套接字。我假设我被迫使用 Thrift 的 C# THttpClient 和 THttpHandler 类在客户端和服务之间使用 HTTP 通信?我找不到任何有关如何执行此操作的示例,任何人都可以指出正确的方向吗?一些示例服务器和客户端代码将不胜感激。

最佳答案

this guy 似乎已经解决了这个问题.根据this JIRA , 修复在 Thrift 0.9 中可用。您可以尝试 this snapshot (请注意,由于它不是最终版本,它可能不稳定)或者您可以申请 this patch到 0.8 版本。

关于c# - 如何实现 C# Thrift 服务并使用 Silverlight 客户端使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9065424/

相关文章:

c# - 提供什么输入以查看安全 SslStream 程序的成功运行

c# - Silverlight 4 - 通过 XAML 声明/填充控件的集合属性?

silverlight - 在silverlight 3中上传文件后如何从服务器获取消息?

c# - 如何动态地向匿名对象添加属性?

c# - Windows 8.1中的http客户端取消请求

c# - 如何在紧凑的框架中有效地发送调用和等待响应?

wpf - 银光下的 Canvas 装订

使用 AMQP (RabbitMQ) 作为 Apache Thrift RPC 传输层的 Python 库

thrift - 单程服务方式

python - 当我使用Thrift将C++中的映射序列化到磁盘,然后使用Python反序列化时,我没有得到相同的对象