locked
HttpModule causing 20798 FaultException PerformancePoint report failures RRS feed

  • 질문

  • I have a custom HttpModule that we have been using for branding and sitemap work.  It works as expected however on our PerformancePoint dashboard, if the feature with the module is activated on the site, random chart and filter (filter error below) exceptions will appear - sometimes one, sometimes many.

    public void Init(HttpApplication context)
    {
        context.PreRequestHandlerExecute += new EventHandler(context_PreRequestHandlerExecute);
    }
    
    void context_PreRequestHandlerExecute(object sender, EventArgs e)
    {
         //do nothing - this is where my code went
    }

    And my web config entry is below in the system.webServer -> modules section (last entry).
    <add name="MyCustomHttpModule" type="MyCustomHttpModule, MyCustomAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b55c922bf836b232" />

    An unknown error has occurred. If the problem
    persists contact an administrator. There may be additional information in the
    server application event log.

    An unexpected error occurred.  Error 20798.

    Exception details:

    System.ServiceModel.FaultException: An unknown error has occurred. If the problem persists contact an administrator. There may be additional information in the server application event log.

    Server stack trace:

       at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)

       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)

       at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)

       at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

    Exception rethrown at [0]:

       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)

       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)

       at Microsoft.PerformancePoint.Scorecards.IBIMonitoringServiceApplication.RenderFilter(String& html, String& script, WebPartContextUpdate& webPartContextUpdate, RepositoryLocation filterLocation, String renderTargetId, String availableHeight, String availableWidth, WebPartContext webPartContext)

       at Microsoft.PerformancePoint.Scorecards.BIMonitoringServiceApplicationProxy.RenderFilter(String& html, String& script, WebPartContextUpdate& webPartContextUpdate, RepositoryLocation filterLocation, String renderTargetId, Unit availableHeight, Unit availableWidth, WebPartContext webPartContext)

    This exception happens almost always on first load of the dashboard.  If a new filter is supplied or changed resubmitting the dashboard, the errors go away.  As the HttpModule Init is fired for virtually every call to PerformancePoint, I tried to see if I could ignore those calls and not setup a PreRequestHandlerExecute event handler, but was unsuccessful.

    Any help would be greatly appreciated (even acknowledgement that an HttpModule should not affect PerformancePoint dashboards.

    Thanks,

    2012년 2월 10일 금요일 오후 2:38

답변

  • I have resolved my issue.  We had a poor coding practice and had the following line in the custom HttpModule:

    private readonly ILogger logger = SharePointServiceLocator.GetCurrent().GetInstance<ILogger>();

    Depending on the timing, this would occasionaly fail.  Removing this line resolved my issue. 


    Matt Smith

    • 답변으로 표시됨 MattSmith 2012년 2월 10일 금요일 오후 7:16
    2012년 2월 10일 금요일 오후 7:16