6

WebActivator を使用してパッケージを利用する Web アプリケーションがいくつかあります。IIS 7.5 Express を搭載したローカル マシンでは、リリース構成でテストしてもデバッグ構成でテストしても、すべて正常に動作します。しかし、IIS 7.5 を搭載した私の運用マシンでは、WebActivator は実際には実行されないため、すべてのモジュールの読み込みに失敗し、コードを Global.asax.cs ファイルに追加し直す必要があります。

私はどこから探し始めればよいのか困惑しています.Googleで検索してStackOverflowを検索しましたが、同様の問題を抱えている人に遭遇したことはありません. 実行できるように構成する必要がある明示的なものはありますか?

編集 - Windows にログを記録するアクティベーターの簡単なサンプルを追加しました。Global.asax.cs ファイルに追加された関数の内容は、運用サーバーでは正常に実行されますが、アクティベーターからはログに記録されません。

using System.Web.Mvc;
using System;

[assembly: WebActivator.PreApplicationStartMethod(typeof(Admin.App_Start.WebActivatorTestStart), "Start")]

namespace Admin.App_Start
{
    public static class WebActivatorTestStart {
        public static void Start() {

            System.Diagnostics.EventLog log = new System.Diagnostics.EventLog();
            log.Source = ".NET Runtime";
            log.WriteEntry("WebActivator Start", System.Diagnostics.EventLogEntryType.Information);

        }
    }
}
4

1 に答える 1

0

何を修正したかははっきりとは言えませんが、現在は機能しています。

ちょっとした歴史 - 私はいくつかの共通ライブラリを使用して、多数の異なる大規模アプリケーションを管理しています。私は共通の Web ライブラリを持っており、Ninject と WebActivator を使用して IOC をセットアップしていました。この基本ライブラリには、App_Start フォルダーが含まれていました。多分これが理由でしたか?わからない。このセットアップで WebActivator を動作させることはできなかったので、NinjectHttpApplication を使用して登録と起動を処理しました。ただし、基本ライブラリにはまだ WebActivator への依存関係がありました (App_Start フォルダーがないだけです)。

そのため、現在、いくつかのアプリケーションと基本ライブラリのリファクタリングに取り組んでいます。過去数か月のコードの臭いを一掃します。1 つのステップは、すべての IoC を実際の Web アプリケーションに移動することでした。つまり、ベース ライブラリのモノリシックを減らしました。ベース ライブラリは WebActivator に依存しなくなりました。

そして今、それは機能します。他にもベース ライブラリに加えた小さな変更が 50 個あります。そのため、体系化されていないことを他のユーザーに謝罪します。

于 2012-04-04T18:43:12.010 に答える