ここで
ht4n のネクロマンシングは面倒です。
まず、GNU General Public License v3 (LGPL ではありません) の下にあり、商用のクローズド ソース ライセンスです。基本的に、それ以上はありません。
その後、C++.NET で記述されます。これは、Thrift よりも高速ですが、Windows へのプラットフォームの依存関係を作成します (mono は C++.NET をサポートしていません)。
また、C++.NET で記述されているため、Windows の x86 (32/64) プロセッサでのみ実行される個別の 32/64 ビット dll バージョンが付属しています。
どちらか一方が必要な場合は、再コンパイルする必要があります...
これらの問題が組み合わさると、愚かで商用ライセンスを侵害するだけでなく、.NET のような VM 言語のアイデアを無効にします。
私の Chrubuntu Chromebook は Linux (ARM プロセッサを使用) を使用しており、C++.NET はそこで動作しないため、Java Thrift-Client を C# に移植しました。
あなたはそれを見つけることができます >ここ<.
ところで、素敵なサンプルプログラムが付属しています。
基本的
ThriftClient client = null;
long ns = -1;
try
{
client = ThriftClient.create("localhost", 38080);
if (!client.namespace_exists("test"))
{
System.Console.WriteLine("Namespace test does not exist");
client.create_namespace("test");
}
ns = client.namespace_open("test");
System.Console.WriteLine(client.hql_query(ns, "show tables").ToString());
client.namespace_close(ns);
} // End Try
catch (System.Exception e)
{
System.Console.WriteLine (e.Message);
System.Console.Error.WriteLine (e.StackTrace);
try
{
if (client != null && ns != -1)
client.namespace_close(ns);
}
catch (System.Exception ex)
{
System.Console.WriteLine (ex.Message);
System.Console.Error.WriteLine("Problem closing namespace \"test\" - " + e.Message);
}
System.Environment.Exit(1);
} // End Catch
Thrift-Client は、任意のビット数でどこでも動作します。
そして何よりも、この時点から、最小限の変更ですべての Java Thrift サンプル/チュートリアルを使用できます。