public virtual ConcurrentDictionary <string, StampResponseV2> TimbrarV2(string[] xmls, bool isb64 = false) { StampResponseHandlerV2 handler = new StampResponseHandlerV2(); ConcurrentBag <string> request = new ConcurrentBag <string>(xmls); ConcurrentDictionary <string, StampResponseV2> response = new ConcurrentDictionary <string, StampResponseV2>(); string format = isb64 ? "b64" : ""; Parallel.ForEach(request, new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount }, i => { try { var xmlBytes = Encoding.UTF8.GetBytes(i); var headers = GetHeaders(); var content = GetMultipartContent(xmlBytes); var proxy = Helpers.RequestHelper.ProxySettings(this.Proxy, this.ProxyPort); response.TryAdd(i, handler.GetPostResponse(this.Url, string.Format("cfdi33/{0}/{1}/{2}", _operation, StampTypes.v2.ToString(), format), headers, content, proxy)); } catch (Exception ex) { response.TryAdd(i, handler.HandleException(ex)); } }); return(response); }
public virtual StampResponseV2 TimbrarV2(string xml, bool isb64 = false) { StampResponseHandlerV2 handler = new StampResponseHandlerV2(xml); try { string format = isb64 ? "b64" : ""; var xmlBytes = Encoding.UTF8.GetBytes(xml); var headers = GetHeaders(); var content = GetMultipartContent(xmlBytes); var proxy = Helpers.RequestHelper.ProxySettings(this.Proxy, this.ProxyPort); return(handler.GetPostResponse(this.Url, string.Format("cfdi33/v2/{0}/{1}/{2}", _operation, StampTypes.v2.ToString(), format), headers, content, proxy)); } catch (Exception ex) { return(handler.HandleException(ex)); } }