企业库4.1日志记录为sharepoint web.config抛出错误?

时间:2011-11-10 22:15:51

标签: c# asp.net sharepoint enterprise-library

我正在尝试在Sharepoint 2007(MOSS)中使用Enterprise Library 4.1。直到我在sharepoint中只使用企业数据应用程序它工作正常。我刚刚开始使用日志记录网站投掷不相关的例外。

web.config

在配置部分

<section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.
 Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
    requirePermission="true" />

安全控制部分

<SafeControl Assembly="Microsoft.Practices.EnterpriseLibrary.Common, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.Unity" TypeName="*" Safe="True" />
<SafeControl Assembly="Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.Unity" TypeName="*" Safe="True" />
<SafeControl Assembly="Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="Microsoft.Practices.EnterpriseLibrary.Logging" TypeName="*" Safe="True" />

记录配置部分

 <loggingConfiguration name="" tracingEnabled="true" defaultCategory="General">
    <listeners>
      <add name="Event Log Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        source="Enterprise Library Logging" formatter="Text Formatter"
        log="SPE SharePoint Event Log" machineName="." traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack" />
      <add name="Rolling Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        fileName="rolling.log" formatter="Text Formatter" rollInterval="Day"
        traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack" />
    </listeners>
    <formatters>
      <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        template="Timestamp: {timestamp}{newline}&#xA;Message: {message}{newline}&#xA;Category: {category}{newline}&#xA;Priority: {priority}{newline}&#xA;EventId: {eventid}{newline}&#xA;Severity: {severity}{newline}&#xA;Title:{title}{newline}&#xA;Machine: {localMachine}{newline}&#xA;App Domain: {localAppDomain}{newline}&#xA;ProcessId: {localProcessId}{newline}&#xA;Process Name: {localProcessName}{newline}&#xA;Thread Name: {threadName}{newline}&#xA;Win32 ThreadId:{win32ThreadId}{newline}&#xA;Extended Properties: {dictionary({key} - {value}{newline})}"
        name="Text Formatter" />
    </formatters>
    <categorySources>
      <add switchValue="All" name="General">
        <listeners>
          <add name="Event Log Listener" />
          <add name="Rolling Flat File Trace Listener" />
        </listeners>
      </add>
    </categorySources>
    <specialSources>
      <allEvents switchValue="All" name="All Events">
        <listeners>
          <add name="Event Log Listener" />
        </listeners>
      </allEvents>
      <notProcessed switchValue="All" name="Unprocessed Category" />
      <errors switchValue="All" name="Logging Errors &amp; Warnings">
        <listeners>
          <add name="Rolling Flat File Trace Listener" />
        </listeners>
      </errors>
    </specialSources>
  </loggingConfiguration>

在装配部分

    <add assembly="Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add assembly="Microsoft.Practices.EnterpriseLibrary.Common, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add assembly="Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

Page显示不同的错误。

This page has encountered a critical error. Contact your system administrator if this problem persists. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: Microsoft.SharePoint.WebPartPages.WebPartPageUserException: This page has encountered a critical error. Contact your system administrator if this problem persists.

Source Error: 


Line 254:
Line 255:
Line 256:    <WebPartPages:ContentEditorWebPart ID="ContentEditorWebPart2" runat="server" __MarkupType="xmlmarkup" WebPart="true" __WebPartId="BBAABEB8-E66E-48ec-AB3B-CB0AD46757B3" >
Line 257:<WebPart xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/WebPart/v2">
Line 258:  <Title>Click the link below to manage your groups:</Title>


Source File: c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES\MYSPE\TabsUserCotrol.ascx    Line: 256 

Stack Trace: 


[WebPartPageUserException: This page has encountered a critical error. Contact your system administrator if this problem persists.]
   Microsoft.SharePoint.ApplicationRuntime.SafeControls.RethrowExceptionIfNeeded() +43
   Microsoft.SharePoint.ApplicationRuntime.SafeControls.IsSafeControl(Type type, String& unsafeErrorMessage) +52
   Microsoft.SharePoint.WebPartPages.TypeCache.get_Item(Type type) +144
   Microsoft.SharePoint.WebPartPages.EmbeddedXmlReader..ctor(TextReader reader, Type type, SPWeb spWeb) +106
   Microsoft.SharePoint.WebPartPages.WebPart.AddParsedSubObject(Object obj) +990
   System.Web.UI.Control.System.Web.UI.IParserAccessor.AddParsedSubObject(Object obj) +10
   ASP._controltemplates_myspe_tabsusercotrol_ascx.__BuildControlContentEditorWebPart2() in c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES\MYSPE\TabsUserCotrol.ascx:256
   ASP._controltemplates_myspe_tabsusercotrol_ascx.__BuildControl__control13(Control __ctrl) in c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES\MYSPE\TabsUserCotrol.ascx:238
   System.Web.UI.CompiledTemplateBuilder.InstantiateIn(Control container) +12
   System.Web.UI.WebControls.WebParts.WebPartZone.GetInitialWebParts() +106
   System.Web.UI.WebControls.WebParts.WebPartManager.RegisterZone(WebZone zone) +186
   System.Web.UI.WebControls.WebParts.WebZone.OnInit(EventArgs e) +95
   System.Web.UI.WebControls.WebParts.WebPartZone.OnInit(EventArgs e) +9

如果我从web.config中删除上面的代码,那么网站工作正常。我不明白我错过的地方。

请帮帮我找我解决方案。

1 个答案:

答案 0 :(得分:1)

您可以删除企业库的SafeControl Section条目和Assemblies Section条目。我觉得你根本不需要那些。我使用过EntLib2.0 / SharePoint 2007和EntLib5.0 / SharePoint 2010,并且从未在我的web.config中使用过这些部分。