示例#1
0
        public async Task <IODataAdapter> ResolveAdapterAsync(CancellationToken cancellationToken)
        {
            if (!this.MetadataCache.IsResolved())
            {
                IODataAdapter adapter;
                if (string.IsNullOrEmpty(this.Settings.MetadataDocument))
                {
                    var response = await SendMetadataRequestAsync(cancellationToken);

                    this.MetadataCache.SetMetadataDocument(await _adapterFactory.GetMetadataDocumentAsync(response));
                    adapter = await _adapterFactory.CreateAdapterAsync(response);
                }
                else
                {
                    this.MetadataCache.SetMetadataDocument(this.Settings.MetadataDocument);
                    adapter = _adapterFactory.CreateAdapter(this.Settings.MetadataDocument);
                }
                _createAdapter = () => adapter;
            }

            if (this.Settings.PayloadFormat == ODataPayloadFormat.Unspecified)
            {
                this.Settings.PayloadFormat = this.Adapter.DefaultPayloadFormat;
            }

            return(this.Adapter);
        }
示例#2
0
        public async Task <IODataAdapter> ResolveAdapterAsync(CancellationToken cancellationToken)
        {
            if (!this.MetadataCache.IsResolved())
            {
                var response = await _adapterFactory.SendMetadataRequestAsync(cancellationToken);

                this.MetadataCache.SetMetadataString(await _adapterFactory.GetMetadataAsStringAsync(response));

                var adapter = await _adapterFactory.CreateAdapterAsync(response);

                _createAdapter = () => adapter;
            }

            if (this.Settings.PayloadFormat == ODataPayloadFormat.Unspecified)
            {
                this.Settings.PayloadFormat = this.Adapter.DefaultPayloadFormat;
            }

            return(this.Adapter);
        }