У меня есть веб-служба для решения проблемы, которую я использую в ActionFilter.Фильтр действий захватывает некоторые основные данные для моей MasterPage.Я перешел между использованием фильтра действий и расширением базового класса контроллера и решил, что фильтр действий - лучший подход.Затем я начал модульное тестирование (Да, да, TDD. В любом случае ...: D)
Так что я не могу смоделировать (используя Moq, кстати) веб-сервис в фильтре действий, потому что я не могу внедрить своймакетируйте WS в фильтр действий, поскольку фильтры действий не принимают объекты в качестве параметров.Правильно?По крайней мере, к этому я, кажется, и пришел.
Есть идеи?Лучше подходит?Я просто пытаюсь вернуть пользователю предупреждение о том, что если веб-сервис недоступен, его опыт может быть ограничен.
Спасибо за любую помощь!
namespace MyProject.ActionFilters
{
public class GetMasterPageData : ActionFilterAttribute
{
public ThatWS ws = new ThatWS();
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
HttpContextBase context = filterContext.HttpContext;
try {
DoStuff();
}
catch ( NullReferenceException e ) {
context.Session["message"] = "There is a problem with the web service. Some functionality will be limited.";
}
}
}
}