Хранилище Ничего, кроме добавления в контейнер позже (правильно) (используя Unity, Хранилища) в ASP.Net MVC 3 - PullRequest
0 голосов
/ 01 сентября 2011

У меня есть «MenuService», который использует «MenuRepository».

Когда MenuService создан, он корректно загружается с MenuRepository. Затем он хочет сохранить его в UnityControllerFactory, но тогда MenuRepository в MenuService - это Ничто (этого не было раньше).

Очень странно.

У кого-нибудь есть идея, почему это происходит?

Дополнительная информация: Я использую шаблон Unity и Repository. Проблема возникает с частичным представлением (для меню), которое я включил в «HomeController», это может быть релевантная информация, поэтому я включил это, на всякий случай:

Function Menu() As ActionResult
    Return PartialView("~\Views/Shared/_Menu.vbhtml", _MenuService.GetAllMenuItems)
End Function

Кроме того, мое частичное представление "меню" выглядит так: ~ / _Menu.vbhtml

@ModelType IEnumerable(Of FacturatieMVCv2.Domain.Slave.MenuItem)

@*<div id="myslidemenu" class="jqueryslidemenu">*@
<ul>

@For Each Item In Model.Where(Function(el) IsNothing(el.HasHigherMenuItem))
@<li> @Html.ActionLink(Item.Naam,Item.Action,Item.Controller)
  <ul>
@For Each SubItem In Model.Where(Function(el) el.HasHigherMenuItem.MenuItemID.Equals(Item.MenuItemID))
      @<li>
            @Html.ActionLink(SubItem.Naam,SubItem.Action,SubItem.Controller)
      </li>
    Next
      </ul>                               
</li>
Next
</ul> 

И я вызываю частичное представление с помощью:

@Html.Action("Menu","Home")

1 Ответ

1 голос
/ 01 сентября 2011

Вам необходимо настроить IoC перед запуском приложения, и вам необходимо получить сервис от IoC.

Эта статья очень вам поможет.

В этом случае зависимости хранилища в службе будут разрешаться IoC (Unity)

...