public static async Task<SterlingCacheContent> CreateAsync(CacheContent content)
        {
            Contract.Requires<ArgumentException>(content.PrimaryKey != null, "content");
            Contract.Requires<ArgumentException>(content.ContentKey != null, "content");
            Contract.Requires<ArgumentException>(content.Response != null, "content");

            var sterlingContent = new SterlingCacheContent();

            //if (content.CacheEntry is SterlingCacheEntry)
            //{
            //    sterlingContent.CacheEntry = content.CacheEntry as SterlingCacheEntry;
            //}
            //else
            //{
            //    sterlingContent.CacheEntry = new SterlingCacheEntry(content.CacheEntry);
            //}

            //sterlingContent.Key = content.Key;

            //var response = content.Response;

            //sterlingContent.StatusCode = response.StatusCode;

            //foreach (var keyValue in response.Headers)
            //{
            //    sterlingContent.ResponseHeaders.Add(keyValue.Key, keyValue.Value);
            //}

            //if (response.Content != null)
            //{
            //    foreach (var keyValue in response.Content.Headers)
            //    {
            //        sterlingContent.ContentHeaders.Add(keyValue.Key, keyValue.Value);
            //    }

            //    sterlingContent.Content = await response.Content.ReadAsByteArrayAsync();
            //}

            return sterlingContent;
        }
コード例 #2
0
        public static async Task <SterlingCacheContent> CreateAsync(CacheContent content)
        {
            Contract.Requires <ArgumentException>(content.PrimaryKey != null, "content");
            Contract.Requires <ArgumentException>(content.ContentKey != null, "content");
            Contract.Requires <ArgumentException>(content.Response != null, "content");

            var sterlingContent = new SterlingCacheContent();

            //if (content.CacheEntry is SterlingCacheEntry)
            //{
            //    sterlingContent.CacheEntry = content.CacheEntry as SterlingCacheEntry;
            //}
            //else
            //{
            //    sterlingContent.CacheEntry = new SterlingCacheEntry(content.CacheEntry);
            //}

            //sterlingContent.Key = content.Key;

            //var response = content.Response;

            //sterlingContent.StatusCode = response.StatusCode;

            //foreach (var keyValue in response.Headers)
            //{
            //    sterlingContent.ResponseHeaders.Add(keyValue.Key, keyValue.Value);
            //}

            //if (response.Content != null)
            //{
            //    foreach (var keyValue in response.Content.Headers)
            //    {
            //        sterlingContent.ContentHeaders.Add(keyValue.Key, keyValue.Value);
            //    }

            //    sterlingContent.Content = await response.Content.ReadAsByteArrayAsync();
            //}

            return(sterlingContent);
        }
        public static HttpResponseMessage CreateResponse(SterlingCacheContent content)
        {
            Contract.Requires<ArgumentNullException>(content != null, "content");

            var response = new HttpResponseMessage(content.StatusCode);

            foreach (var keyValue in content.ResponseHeaders)
            {
                response.Headers.Add(keyValue.Key, keyValue.Value);
            }

            if (content.Content != null)
            {
                response.Content = new ByteArrayContent(content.Content);
                response.Content.Headers.Clear();

                foreach (var keyValue in content.ContentHeaders)
                {
                    response.Content.Headers.Add(keyValue.Key, keyValue.Value);
                }
            }

            return response;
        }
コード例 #4
0
        public static HttpResponseMessage CreateResponse(SterlingCacheContent content)
        {
            Contract.Requires <ArgumentNullException>(content != null, "content");

            var response = new HttpResponseMessage(content.StatusCode);

            foreach (var keyValue in content.ResponseHeaders)
            {
                response.Headers.Add(keyValue.Key, keyValue.Value);
            }

            if (content.Content != null)
            {
                response.Content = new ByteArrayContent(content.Content);
                response.Content.Headers.Clear();

                foreach (var keyValue in content.ContentHeaders)
                {
                    response.Content.Headers.Add(keyValue.Key, keyValue.Value);
                }
            }

            return(response);
        }