Einheit loadConfiguration scheitern

Habe ich folgende Einheit konstruieren Methode:

public static IUnityContainer CreateContainer()
{
    UnityContainer container = new UnityContainer();
    container.LoadConfiguration();

    .......
}

Dann eine Schnittstelle und eine Implementierung der Klasse:

namespace MyCompany.Web.Areas.MyApp.Common
{
    public interface ISession
    {
    }
}

namespace MyCompany.Web.Areas.MyApp.Common
{
    public class SessionHandler : ISession
    {
    }
}

Statt dies zu tun:

Container.RegisterType<ISession, SessionHandler>(new ContainerControlledLifetimeManager()) ;

Ich verwenden möchten container.LoadConfiguration() zum laden der oben RegisterType config aus dem web.config. ABER es scheint nicht zu funktionieren

web.config:

  <unity>
    <containers>
      <container>
        <types>

          <type type="MyCompany.Web.Areas.MyApp.Common.ISession" mapTo="MyCompany.Web.Areas.MyApp.Common.SessionHandler">
            <lifetime type="singleton"/>
          </type>
        </types>
      </container>
    </containers>
  </unity>

Ausnahme:

Den Typ Namen oder alias MyProject.Web.Gebieten.MyApp.Common.ISession nicht behoben werden konnte. Bitte überprüfen Sie Ihre Konfiguration-Datei, und überprüfen Sie diese Art Namen.

Beschreibung: Eine nicht behandelte Ausnahme ist aufgetreten während der Ausführung der aktuellen Webanforderung. Bitte überprüfen Sie die Stapelüberwachung für weitere Informationen über den Fehler und wo Sie Ihren Ursprung in den code.

Ausnahmedetails: System.InvalidOperationException: Der Typ-name oder alias MyProject.Web.Gebieten.MyApp.Common.ISession nicht behoben werden konnte. Bitte überprüfen Sie Ihre Konfiguration-Datei, und überprüfen Sie diese Art Namen.

Quelle Fehler:

Zeile 33: {
Zeile 34: UnityContainer container = new UnityContainer();
Zeile 35: container.LoadConfiguration();
Zeile 36:
Line 37: //container.RegisterType(new ContainerControlledLifetimeManager());

Stack Trace:

[InvalidOperationException: Der Typ-name oder alias MyProject.Web.Gebieten.MyApp.Common.ISession nicht behoben werden konnte. Bitte überprüfen Sie Ihre Konfiguration-Datei, und überprüfen Sie diese Art Namen.]
Microsoft.Praktiken.Einheit.- Konfiguration.ConfigurationHelpers.TypeResolverImpl.ResolveType(String typeNameOrAlias, Boolean throwIfResolveFails) in e:\Builds\Unity\UnityTemp\Compile\Unity\Unity.Configuration\Src\ConfigurationHelpers\TypeResolverImpl.cs:110
Microsoft.Praktiken.Einheit.- Konfiguration.ConfigurationHelpers.TypeResolver.ResolveType(String typeNameOrAlias) in e:\Builds\Unity\UnityTemp\Compile\Unity\Unity.Configuration\Src\ConfigurationHelpers\TypeResolver.cs:47
Microsoft.Praktiken.Einheit.- Konfiguration.RegisterElement.GetRegisteringType() in e:\Builds\Unity\UnityTemp\Compile\Unity\Unity.Configuration\Src\RegisterElement.cs:121
Microsoft.Praktiken.Einheit.- Konfiguration.RegisterElement.ConfigureContainer(IUnityContainer container) in e:\Builds\Unity\UnityTemp\Compile\Unity\Unity.Configuration\Src\RegisterElement.cs:88
Microsoft.Praktiken.Einheit.- Konfiguration.ContainerConfiguringElement.ConfigureContainerInternal(IUnityContainer container) in e:\Builds\Unity\UnityTemp\Compile\Unity\Unity.Configuration\Src\ContainerConfiguringElement.cs:43
Microsoft.Praktiken.Einheit.- Konfiguration.<>c__DisplayClass1.b__0(ContainerConfiguringElement-element) e:\Builds\Unity\UnityTemp\Compile\Unity\Unity.Configuration\Src\ContainerElement.cs:114
Microsoft.Praktiken.ObjectBuilder2.EnumerableExtensions.ForEach(IEnumerable1 sequence, Action1 Aktion) in e:\Builds\Unity\UnityTemp\Compile\Unity\Unity\Src\ObjectBuilder\Utility\EnumerableExtensions.cs:36
Microsoft.Praktiken.Einheit.- Konfiguration.ContainerElement.ConfigureContainer(IUnityContainer container) in e:\Builds\Unity\UnityTemp\Compile\Unity\Unity.Configuration\Src\ContainerElement.cs:110
Microsoft.Praktiken.Einheit.- Konfiguration.UnityConfigurationSection.Konfigurieren(IUnityContainer container, String configuredContainerName) in e:\Builds\Unity\UnityTemp\Compile\Unity\Unity.Configuration\Src\UnityConfigurationSection.cs:151
Microsoft.Praktiken.Einheit.- Konfiguration.UnityContainerExtensions.LoadConfiguration(IUnityContainer container, UnityConfigurationSection Abschnitt, String containerName) in e:\Builds\Unity\UnityTemp\Compile\Unity\Unity.Configuration\Src\UnityContainerExtensions.cs:37
Microsoft.Praktiken.Einheit.- Konfiguration.UnityContainerExtensions.LoadConfiguration(IUnityContainer container) in e:\Builds\Unity\UnityTemp\Compile\Unity\Unity.Configuration\Src\UnityContainerExtensions.cs:64
MyProject.Web.ApplicationContainer.CreateContainer() in C:\Workspace\MCDev\MyApp\MyApp\MyProject.Web\ApplicationContainer.cs:35
MyProject.Web.ApplicationContainer.Initialize(HttpContext context) bei C:\Workspace\MCDev\MyApp\MyApp\MyProject.Web\ApplicationContainer.cs:53
MyProject.Web.MvcApplication.Application_Start() in C:\Workspace\MCDev\MyApp\MyApp\MyProject.Web\Global.asax.cs:41

InformationsquelleAutor FaNIX | 2011-10-04
Schreibe einen Kommentar