MVC 3, EINHEIT 2 und der Enterprise Library 5 (Logging Application Block) - Aktivierung Fehler aufgetreten, während versucht zu bekommen Instanz des Typs log-Writer, der Schlüssel ""
Ich bin Herumspielen mit MVC 3, Einheit 2 und der Logging Application Block aus der Enterprise Library 5. Wenn Sie versuchen, um ein einfaches Protokoll, bekomme ich die Fehlermeldung unten aufgeführt.
Ich habe es wirklich versucht, nach Antworten zu suchen, aber kein Glück. Hoffe Sie haben Erfahrung mit dieser.
Fehler: Aktivierung Fehler aufgetreten, während versucht zu bekommen Instanz des Typs log-Writer, key","
Hier ist meine Konfiguration:
global.asax.cs
protected void Application_Start()
{
var container = new UnityContainer();
container.RegisterType<IProductsRepository, ProductsRepository>()
}
Tritt der Fehler auf, wenn ich versuche, Folgendes zu tun:
if (Logger.IsLoggingEnabled())
Hinweis, ich bin derzeit mit dem Webprojekt lokal auf meinem Rechner, wo der webconfig definiert ist, zu Protokoll, um das Ereignisprotokoll. Mehr Informationen über den Fehler wird unten gegeben:
Innere Ausnahme: {"Der Typ log-Writer kann nicht konstruiert werden. Sie müssen konfigurieren Sie den container, dies zu liefern Wert."}
StackTrace: bei Microsoft.Praktiken.ServiceLocation.ServiceLocatorImplBase.GetInstance(Type-Diensttyp, String key)
bei Microsoft.Praktiken.ServiceLocation.ServiceLocatorImplBase.GetInstanceTService
bei Microsoft.Praktiken.EnterpriseLibrary.Die Protokollierung.Logger.get_Writer()
bei Microsoft.Praktiken.EnterpriseLibrary.Die Protokollierung.Logger.IsLoggingEnabled()
bei MyProject.Die Protokollierung.LogManager.PerformLog(String message, String category, IDictionary2 metaData, Exception ex, TraceEventType type, LogPriority priority) in C:\Work\MyProject\MyProject.WebUI\Infrastructure\LogManager.cs:line 163
2 Parameter)
at MyProject.Logging.LogManager.Info(String message) in C:\Work\MyProject\MyProject.WebUI\Infrastructure\LogManager.cs:line 103
at MyProject.WebUI.Controllers.ProductsController.List(String categoryName) in C:\Work\MyProject\MyProject.WebUI\Controllers\ProductsController.cs:line 34
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters)
1 Fortsetzung)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func
Hier ist mein web.config-Datei:
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<loggingConfiguration name="" tracingEnabled="true" defaultCategory="General">
<listeners>
<add name="Event Log Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
source="Enterprise Library Logging" formatter="Text Formatter"
log="" machineName="." traceOutputOptions="None" />
</listeners>
<formatters>
<add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
template="Timestamp: {timestamp}{newline}
Message: {message}{newline}
Category: {category}{newline}
Priority: {priority}{newline}
EventId: {eventid}{newline}
Severity: {severity}{newline}
Title:{title}{newline}
Machine: {localMachine}{newline}
App Domain: {localAppDomain}{newline}
ProcessId: {localProcessId}{newline}
Process Name: {localProcessName}{newline}
Thread Name: {threadName}{newline}
Win32 ThreadId:{win32ThreadId}{newline}
Extended Properties: {dictionary({key} - {value}{newline})}"
name="Text Formatter" />
</formatters>
<categorySources>
<add switchValue="All" name="General">
<listeners>
<add name="Event Log Listener" />
</listeners>
</add>
</categorySources>
<specialSources>
<allEvents switchValue="All" name="All Events" />
<notProcessed switchValue="All" name="Unprocessed Category" />
<errors switchValue="All" name="Logging Errors & Warnings">
<listeners>
<add name="Event Log Listener" />
</listeners>
</errors>
</specialSources>
</loggingConfiguration>
<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>
<system.web>
<httpHandlers>
<add path="*" verb="*" type="System.Web.HttpNotFoundHandler" />
</httpHandlers>
<!--
Enabling request validation in view pages would cause validation to occur
after the input has already been processed by the controller. By default
MVC performs request validation before a controller processes the input.
To change this behavior apply the ValidateInputAttribute to a
controller or action.
-->
<pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<controls>
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>
</pages>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="BlockViewHandler" />
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web.webPages.razor>
</configuration>
InformationsquelleAutor Nima | 2011-02-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gesehen hab ich diese Meldung, wenn Sie die Enterprise library-Komponenten im GAC installiert und nicht kopiert lokal. Aktualisieren Sie Ihre Unternehmens-Bibliothek Verweise auf lokale Kopie und sehen, wenn dieses es regelt.
InformationsquelleAutor Peter T. LaComb Jr.