「Cook Computing」のブログには、.NET 4のダイナミクスを使用して動的RPC呼び出しを作成する方法についての記事が掲載されています。XML-RPC.NETとC#の動的タイプ
ポストは、次の例を示しています(ALTERNATIVE SYNTAX FOR MEMBER CALLS ON C# DYNAMIC TYPESポスト):
using System.Dynamic;
class XmlRpcClient : DynamicObject
{
string endpoint;
public XmlRpcClient(string endpoint)
{
this.endpoint = endpoint;
}
public object Invoke(string methodName, object[] args)
{
return 5; // actually make call to XML-RPC endpoint here
}
public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args,
out object result)
{
result = Invoke(binder.Name, args);
return true;
}
}
を私は理解していない部分は、「ここで実際にXML-RPCエンドポイントに電話をかける」旨のコメントです。
invokeメソッドでXML-RPC.NETライブラリを使用する方法はありますか、またはHttpWebRequest呼び出しを行う必要がありますか?私は記事を書いたとき
おかげ
これを使用する目的は何ですか?とにかく静的に定義されたメソッドを持つXML-RPCサービスを呼び出していませんか? – mellamokb
XML-RPC.NETライブラリを使用する場合は、呼び出すサービスを表すインタフェースを定義する必要があります。私はxml-rpcサービスの複数のバージョンを呼び出すため、ダイナミクスを使用したいと思います。私は遭遇するサービスの各バージョンに対して定義されたインターフェースを持つことを避けようとしています。 –
XML-RPCでは、インターフェイスがXmlRpcServiceスーパークラスとメソッドを装飾する属性を介した通信を処理するため、インターフェイスなしでサービスと通信できる方法はわかりません。ライブラリのリバースエンジニアリングをして、あなたのポストに書いたように、HttpWebRequestの呼び出しを手作業で行って、その下の状況を確認する必要があります。 – mellamokb