3

EPiServer 7.1 の上に構築された MVC 4 アプリケーションがあります。EPiServer は IoC フレームワークとして StructureMap を使用しますが、これは私の問題に関連している可能性があります。とにかく、これは私がやったことです:

  1. 「Manage Nuget Packages...」を介して、「Glimpse Mvc4」をプロジェクトに追加しました
  2. web.config が期待どおりに更新されたことを確認しました
  3. アプリケーションを再起動しました

Glimpse を追加すると、すべてのリクエストが NullReferenceException で失敗します。たとえば、次のようになります。

サンプルエラー

web.config の Glimpse セクションの 'logging level="Trace"' にコメントして Glimpse ログを有効にしようとしましたが、Windows イベント ログまたは log4net ログ ファイルのいずれにもログが見つかりません。

さらにトラブルシューティングする方法についてのアイデア、または解決策へのヒントはありますか?

4

2 に答える 2

0

ここで同じ+1。私がこれまでに見つけたのは、Glimpse を追加することで、すべてのルートが強化され、ルーティングへの呼び出しをインターセプトするための独自のプロキシ クラスに置き換えられることです。EPiServer (特に UrlResolver) は、このケースが気に入らないようです。この例外の根本的な原因は、次の方法です。

UrlResolver.GetVirtualPath(ContentReference contentLink, string language, RouteValueDictionary routeValues, RequestContext requestContext)

気に入らないのは、ルーティング テーブルにタイプ ContentRoute のルートがないという事実です。

foreach (RouteBase base2 in from r in this._routes
where (bool) (r is ContentRoute)
select r)
{
   ...
   if(...)
   {
       return virtualPath;
   }
}

return null;

そして、null を呼び出し元に返した後、次の場所で NullReferenceExpcetion が発生します。

UrlExtensions.MapUrlFromRoute(RequestContext requestContext, RouteCollection routeCollection, string url)

EPiServer からのパッチを待つ必要があるようです。

于 2013-06-25T07:10:01.050 に答える