namespace Nwc.XmlRpc { using System; using System.Collections; using System.IO; using System.Xml; using System.Net; using System.Text; using System.Reflection; /// Class that collects individual XmlRpcRequest objects and submits them as a boxcarred request. /// A boxcared request is when a number of request are collected before being sent via XML-RPC, and then are sent via /// a single HTTP connection. This results in a speed up from reduced connection time. The results are then retuned collectively /// as well. /// /// public class XmlRpcBoxcarRequest : XmlRpcRequest { /// ArrayList to collect the requests to boxcar. public IList Requests = new ArrayList(); /// Basic constructor. public XmlRpcBoxcarRequest() { } /// Returns the String "system.multiCall" which is the server method that handles boxcars. public override String MethodName { get { return "system.multiCall"; } } /// The ArrayList of boxcarred Requests as properly formed parameters. public override IList Params { get { _params.Clear(); ArrayList reqArray = new ArrayList(); foreach (XmlRpcRequest request in Requests) { Hashtable requestEntry = new Hashtable(); requestEntry.Add(XmlRpcXmlTokens.METHOD_NAME, request.MethodName); requestEntry.Add(XmlRpcXmlTokens.PARAMS, request.Params); reqArray.Add(requestEntry); } _params.Add(reqArray); return _params; } } } }