2011-10-10 10 views
6

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

グーグルで検索して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); 

     } 
    } 
} 
+0

プロダクションマシンにASP.NET 4がインストールされていますか? – counsellorben

+0

これは、IIS 7.5/IIS Express 7.5を除いて、開発者とプロダクションボックスの間のすべてのものと同じバージョンです。アプリケーションプールは.Net 4、統合パイプラインに設定されています。 – Leniency

+0

WebActivatorが動作しないのですか?たぶんあなたが失敗したモジュールをロードするために何をしているのですか? WebActivatorが失敗したことを確認できるように、WebActivatorにログに書き込むように指示してください。 –

答えて

0

私は物事を修正するために何をしたのかはっきりとは言えませんが、現在は機能しています。

歴史のビット - いくつかの共通ライブラリを使用して、数多くの大きなアプリケーションを管理しています。私は一般的なWebライブラリを持っていて、これはNinjectとWebActivatorを使ってIOC設定をしていた場所です。この基本ライブラリにはApp_Startフォルダがあります。多分これが理由だったのでしょうか?ダニー。 WebActivatorがこの設定で動作することはありませんので、NinjectHttpApplicationを使用して登録や起動を処理しました。しかし、基本ライブラリには依然としてWebActivator(App_Startフォルダなし)に依存していました。

ここで、私は過去数ヶ月のコード臭を一掃して、アプリケーションとベースライブラリのいくつかをリファクタリングしています。 1つのステップは、すべてのIoCを実際のWebアプリケーションに移行することでした。ベースライブラリをモノリシックにする必要がありませんでした。ベースライブラリはもはやWebActivatorに依存しません。

これで動作します。ベースライブラリに加えた50万の小さな変更もありますので、私は他の人にもっと体系的ではないことをお詫びします。

関連する問題