示例#1
0
        public int EstimateCount(Uri resourceUri, Filter filter, IEnumerable <Selector> selectors)
        {
            using (ClientContext <IWSEnumerationContract> ctx =
                       new ClientContext <IWSEnumerationContract>(_endpointUri, _binding.MessageVersion.Addressing, _proxyFactory,
                                                                  mx =>
            {
                mx.Add(new ResourceUriHeader(resourceUri.ToString()));
                mx.Add(new SelectorSetHeader(selectors));
            }))
            {
                OperationContextProxy.Current.AddHeader(new RequestTotalItemsCountEstimate());
                FilterMapExtension.Activate(_filterMap);
                EnumerationModeExtension.Activate(EnumerationMode.EnumerateEPR, null);

                ctx.Channel.Enumerate(new EnumerateRequest
                {
                    EnumerationMode     = EnumerationMode.EnumerateEPR,
                    OptimizeEnumeration = _optimize ? new OptimizeEnumeration() : null,
                    Filter = filter,
                });

                TotalItemsCountEstimate totalItemsCountEstimate =
                    OperationContextProxy.Current.FindHeader <TotalItemsCountEstimate>();
                return(totalItemsCountEstimate.Value);
            }
        }
示例#2
0
 public static TotalItemsCountEstimate ReadFrom(XmlDictionaryReader reader)
 {
    reader.ReadStartElement(ElementName, ManagementNamespaces.Namespace);
    int value = XmlConvert.ToInt32(reader.ReadString());
    TotalItemsCountEstimate result = new TotalItemsCountEstimate(value);
    reader.ReadEndElement();
    return result;
 }
示例#3
0
        public static TotalItemsCountEstimate ReadFrom(XmlDictionaryReader reader)
        {
            reader.ReadStartElement(ElementName, ManagementNamespaces.Namespace);
            int value = XmlConvert.ToInt32(reader.ReadString());
            TotalItemsCountEstimate result = new TotalItemsCountEstimate(value);

            reader.ReadEndElement();
            return(result);
        }