XML-RPC.NET和C#动态类型

时间:2011-07-18 15:24:43

标签: c# .net dynamic xml-rpc dynamicobject

Cook Computing博客有一篇文章讨论了.NET 4中的动态如何用于创建动态RPC调用。 (帖子: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调用?

由于

1 个答案:

答案 0 :(得分:2)

当我写“替代语法...”时,C#中的动态支持刚刚宣布,所以我只是描述了一种可能的实现,以利用这些新功能。

实现“实际上在这里调用XML-RPC端点”需要调用XmlRpcClientProtocol类,尽管这个类需要一些小修改才能以这种方式使用。