Заголовки и кеширование в сервисе REST от Silverlight - PullRequest
1 голос
/ 18 ноября 2011

Я разрабатывал небольшой клиент Silverlight, который будет общаться со сборкой службы REST с использованием WCF WEBAPI .... Когда служба вызывается с помощью GET, она запускает длительный процесс, которыйсгенерируйте ресурс, чтобы служба возвращала «Accepted» и URI в заголовке Location, где ресурс будет найден.

Server: ASP.NET Development Server/10.0.0.0
Date:   Fri, 18 Nov 2011 09:00:17 GMT
X-AspNet-Version:   4.0.30319
Content-Length: 3
Location:   http://localhost:52878/myservice?fileid=f68201f6-9d77-4818-820e-e5e796e9710a
Cache-Control   public, max-age=21600
Expires:    21600
Content-Type:   text/plain
Connection: Close

Теперь в моем клиенте Silverlight мне нужен доступ к этому заголовкуоднако, используя стек BrowserHTTP, это невозможно ... поэтому я переключился на ClientHTTP, который позволяет мне получить доступ к возвращенной информации заголовка.Однако стек ClientHTTP не поддерживает кэширование содержимого:

http://www.wintellect.com/CS/blogs/jprosise/archive/2009/10/14/silverlight-3-s-new-client-networking-stack.aspx

, что вызывает у меня проблемы ..... Я не хочу возвращать тот же ресурс в течение 6 часов,до создания нового.

Есть ли способ получить лучшее из обоих ... возможность доступа к информации заголовка и кэширования содержимого ??

TIA

Сорен

Ответы [ 2 ]

0 голосов
/ 18 ноября 2011

Использование заголовков является правильным способом передачи этой информации. Вот почему это в стандарте. Я не использую silverlight, но из этого поста я узнал, что теперь вам нужно будет реализовать кэширование. Использование BrowserHttp использует механизм кэширования браузеров. Теперь, используя ClientHttp, вы приближаетесь к металлу и вам придется реализовать кэширование.

0 голосов
/ 18 ноября 2011

Прекратить использование заголовка для возврата информации, необходимой клиентскому коду.

Если вы включите необходимую информацию в тело объекта, используя необработанные или закодированные в каком-либо формате сообщения (например, XML или JSON), то выможет продолжать использовать BrowserHTTP и извлекать выгоду из его кэширования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...