Я работаю над приложением ASP MVC 3, и я пишу специальный html-помощник. Это ничего особенного или чрезвычайно сложного, но для этого потребуется экземпляр интерфейса из структурной карты. Я знаю, что я могу просто вызвать объект structmaps factory изнутри метода, но поскольку в остальной части приложения используется IoC, а не в местоположении службы, я бы хотел сохранить его таким образом.
Есть ли способ внедрить интерфейсы в методы расширения изнутри и asp net mvc app?
UPDATE
Пример того, что я делаю, может помочь:
public static class ShowUrl
{
public static string ForShow(this UrlHelper url, int showId)
{
var service = ObjectFactory.GetInstance<IPerformanceService>();
var showName = service.GetPerformanceTitle(showId);
return url.Action(MVC.Performance.Details(showId, showName.ToFriendlyUrl()));
}
}
Что используется следующим образом:
<a href='<%= Url.ForShow(1)%>'>
По сути, я пытаюсь создать URL-адрес с slug из идентификатора объекта. Может быть, я просто буду делать это очень глупо.