Как вызвать локальный обработчик HTTP - PullRequest
1 голос
/ 21 июня 2011

У меня есть HTTPHandler, который возвращает либо изображение, либо какой-либо текст, и я хочу вызвать его из локального веб-приложения.

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

Причина, по которой я пытаюсь это сделать, заключается в том, что у меня есть страница, которая вставляет контент из других источников в панели, некоторые ресурсы являются локальными (для веб-сайтов).app), а другие - удаленные, я хотел, чтобы одно решение охватывало все возможности, чтобы я мог довольно легко изменить источник.

Ответы [ 2 ]

2 голосов
/ 21 июня 2011

Одним из самых простых способов является ссылка содержимого, т. Е. Использование html-элементов, таких как image, Iframe, и указание их источника на соответствующий обработчик.Он будет работать как с локальными, так и с удаленными обработчиками, если URL-адреса доступны из клиента / браузера.

Если вам необходимо получить контент для какой-либо обработки и т. Д., То вы можете использовать WebClient для загрузкиконтент - в любом случае он поддерживает схемы аутентификации на основе HTTP (включая windows / встроенную аутентификацию), поэтому это не должно вызывать проблем.

Если вы хотите оптимизировать процесс для локальных обработчиков, то вам, вероятно, нужно абстрагировать интерфейс дляпоставщик контента - у вас может быть две реализации (одна, которая использует WebClient для получения удаленного контента, и другая, которая, вероятно, будет использовать собственный API класса локального обработчика напрямую для получения контента).

1 голос
/ 21 июня 2011
  1. Извлечение кода из вашего обработчика в отдельную сборку
  2. Ссылка на эту сборку в проекте с HTTP-обработчиком и заставить обработчик просто вызвать ваш общий код
  3. Ссылка на эту сборкув вашем проекте веб-приложения.

Возможно, вы захотите создать провайдера для вашего веб-приложения, который будет использовать сборку in-proc или перейти на удаленный сайт.

...