Aracılığıyla paylaş


DataServiceRequest<TElement> Sınıf

Tanım

Veri hizmetine toplu iş olarak gönderilen istek nesnelerini temsil eder.

generic <typename TElement>
public ref class DataServiceRequest sealed : System::Data::Services::Client::DataServiceRequest
public sealed class DataServiceRequest<TElement> : System.Data.Services.Client.DataServiceRequest
type DataServiceRequest<'Element> = class
    inherit DataServiceRequest
Public NotInheritable Class DataServiceRequest(Of TElement)
Inherits DataServiceRequest

Tür Parametreleri

TElement
Devralma
DataServiceRequest<TElement>

Örnekler

Döndürdüğünde ExecuteBatch , toplu istek için HTTP yanıtının tamamı ağ akışından okunur, ancak yanıtlar işlenmez. Aşağıdaki örnekte gösterildiği gibi yineleninceye kadar yanıttaki belirtilen varlık için kimlik çözümlemesi ve nesne gerçekleştirme gerçekleşmez.

DataServiceContext service = new DataServiceContext(new   
                                                    Uri("http://myserviceroot"));  

// Create query batches.  
DataServiceRequest[] reqs = new DataServiceRequest[] {   
    new DataServiceRequest<Category>(  
            new Uri("http://myserviceroot/Categories")),  
            new DataServiceRequest<Customer>(  
            new Uri("http://myserviceroot/Customers"))  
};  

DataServiceResponse dsr;  
try  
{  
    // Client will not throw an exception on ExecuteBatch because the   
    // entire response has not been processed yet to know  
    // whether an exception should be thrown.  

    dsr = service.ExecuteBatch(reqs);     

    if (dsr.IsBatchResponse)   
    {  
        /*inspect HTTP artifacts associated with the entire batch:  
                      dsr.BatchHeaders, dsr.BatchStatusCode*/ }  

    foreach (QueryOperationResponse qr in dsr)  
    {  
        if (IsErrorStatusCode(qr.StatusCode))     
        {  
            //q.Error.Message contains the full contents of the error.  
            /* process any part of the Error Contract (<error> element)  
                      sent from the service.  */  
            }  
        }  
        else  
        {  
            if (qr.Query.ElementType == typeof(Customer))  
            {  
                //process customers  
                foreach (Customer c in qr){ /*process the customer*/ }  

                // the DataServiceContext does not materialize, resolve  
                // identity on Customer until it is enumerated.  
            }  
            else if (qr.Query.ElementType == typeof(Category))  
            {  
                // Process categories.  
                foreach (Category cat in qr)  
                {   
                    /*process the category*/   
                 }  
                // the DataServiceContext does not materialize or  
                // resolve identity on the Category until  
                // it is enumerated.  
                // This means that instream errors will be thrown  
                // during iteration.  
            }  
        }  
    }  
}  
catch (DataServiceRequestException e)  
{  
    // This error is thrown if the data service returns with  
    // a response code < 200 or >299 or the top level element.  
    // If neither of the above or true, this exception is not   
    // thrown.  

    dsr = e.Response;  

    if (dsr.IsBatchResponse)   
    {   
        /*inspect HTTP artifacts associated with the entire batch:  
                        dsr.BatchHeaders, dsr.BatchStatusCode*/   
    }  

    /* There will always only be one of these because if the top level  
     status code was >=200 and =<299 and the first element was not an  
     error, the call to start the query will not throw. */  

    foreach (QueryOperationResponse qr in dsr)  
    {  
        if (qr.Error != null)  
        {  
            // Process error.  
        }  
    }     
}  

Açıklamalar

Veri hizmetine toplu iş olarak gönderilen bir grup sorguda, sorgular örnek olarak DataServiceRequest<TElement> belirtilir. toplu DataServiceResponse iş isteğinin bir bütün olarak yanıtını temsil eden bir döndürülür. Tek tek sorgu yanıtları, örneği numaralandırarak DataServiceResponse erişilebilen ve 'den OperationResponsetüretilen nesneler olarak QueryOperationResponse temsil edilir.

Oluşturucular

Name Description
DataServiceRequest<TElement>(Uri)

DataServiceRequest<TElement> sınıfının yeni bir örneğini başlatır.

Özellikler

Name Description
ElementType

Örneği oluşturmak DataServiceRequest<TElement> için kullanılan nesnenin türünü alır.

RequestUri

İstek dizesini içeren URI nesnesini alır.

Yöntemler

Name Description
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Veri hizmetine yapılan sorgunun URI'sini temsil eder.

(Devralındığı yer: DataServiceRequest)

Şunlara uygulanır