Вы можете использовать фабрику для создания контекста входа. Затем вы можете издеваться над фабрикой и возвращать все, что хотите, для своего теста.
public class TestedClass {
private final LoginContextFactory loginContextFactory;
public TestedClass(final LoginContextFactory loginContextFactory) {
this.loginContextFactory = loginContextFactory;
}
public LoginContext login(String user, String password) {
LoginContext lc = loginContextFactory.createLoginContext();
}
}
public interface LoginContextFactory {
public LoginContext createLoginContext();
}
Существует большое сообщение здесь о различиях между двумя от члена команды IIS.
Один протест, которому я советовал бы, состоит в том, что для WebForms, необходимо быть осторожными при использовании Маршрутизации. Я записал демонстрационную реализацию того, как Вы использовали бы маршрутизация с WebForms, который обращается к этим проблемам и надо надеяться помогает ответить на Ваш вопрос.
Это - лучшая статья, которую я нашел об этой теме: Перезапись URL IIS и ASP.NET, направляющий Ruslan Yakushev.
, Когда клиент выполняет запрос к веб-серверу для конкретного URL, переписывающий URL компонент анализирует требуемый URL и изменяет его на различный другой URL на том же сервере. Переписывающий URL компонент работает очень рано в конвейере обработки запросов, поэтому в состоянии изменить требуемый URL, прежде чем веб-сервер примет решение о который обработчик использовать для обработки запроса.
, маршрутизация ASP.NET реализована как модуль управляемого кода, который включает конвейер обработки запросов IIS на этапе Кэша Твердости (событие PostResolveRequestCache) и на этапе Обработчика Карт (PostMapRequestHandler). маршрутизация ASP.NET настроена для выполнения за всеми запросами, выполненными к веб-приложению.
Различия между перезаписью URL и маршрутизацией ASP.NET:
В дополнение к этим концептуальным различиям, существуют некоторые функциональные различия между перезаписью URL IIS и маршрутизацией ASP.NET:
Вы хотите, чтобы отформатированные URL были фабрикой для порождения страниц?
или Вы хотите заставить .aspx уйти?
перезапись, для того, чтобы заставить .aspx уйти, или только убрать URL.
Маршрутизация, для рассмотрения запроса и определения, какой объект должен обработать его. Они звучат подобными, phil haack имеет несколько хороших статей о предмете.
в iis6, isapiRewrite, очень хорош
Я недавно просто записал свою собственную систему перезаписи, чтобы заставить URL на моих сайтах выглядеть лучше. В основном Вы собираетесь должны записать свое собственное IHttpModule и добавить его к Вашему web.config для прерывания входящих запросов. Можно тогда использовать HttpContext. Текущий. RewritePath для изменения то, на что Вы указываете.
Вы также захотите настроить свой сайт к , используют aspnet_isapi для всего .
Вы обнаружите много небольших проблем по пути как попытка работать со страницами, которые используют "хвосты" на них (как для PageMethods), или соединение каналом элементов страницы и обратные передачи формы, но Вы пройдете через них.
, Если заинтересовано, я могу отправить ссылку на код, и можно проверить его. Я уже разработал много проблем, таким образом, можно прочитать его, когда Вы идете. Я уверен, что существует много других людей, которые сделали это также, которое могло бы быть хорошими ресурсами также.
Можно хотеть проверить мой ответ к этому вопросу: ASP.NET - Создание Вашей собственной системы маршрутизации . Я включаю некоторые хорошие ссылки, чтобы помочь создать Вашу собственную систему маршрутизации или с использованием метода перезаписи URL или с новым механизмом маршрутизации, который можно использовать, который вышел из проекта MVC ASP.NET.
Динамический проект Данных, который доступен с.Net 3.5 SP1, показывает хороший пример внедрения маршрутизации URL.
Для Перезаписи URL на IIS IIRF работает в IIS5, 6, 7. Свободный. Легкий. Быстро. Открытый исходный код. Поддержка регулярного выражения.