Global.asaxがプリコンパイルされたasp.net Webサイトに読み込まれない

StackOverflow https://stackoverflow.com/questions/1632636

  •  06-07-2019
  •  | 
  •  

質問

Visual Studio 2008を使用してasp.net Webサイトを公開しました。サーバー(Windows 2008サーバー)でWebサイトを立ち上げると、global.asaxのコードが実行されていないことに気付きました。 Global.asaxの本文は次のようになります。

<%@ Application Language="C#" %>
<script runat="server">
    protected void Application_Start()
    {
        // Initialize some site settings like a task scheduler
    }

    protected void Application_End(object sender, EventArgs e)
    {
        // Perform some clean up code
    }
</script>

コンパイル済みのWebサイトのbinフォルダーにApp_global.asax.dllがありますが、それは役に立たないようです。

欠落している構成オプションはありますか? App_global.asax.dllを削除し、プリコンパイルされたWebサイトで元のglobal.asaxを使用すると正常に機能します。

役に立ちましたか?

解決

私が見つけた唯一の答えは、コンパイルされた出力フォルダーにglobal.asax(ロジック付き)を含めることです。

他のヒント

同様の問題が発生し、開発サーバーの WebサイトのルートフォルダーからPrecompiledApp.configファイルを削除することで問題を解決できました

これは、Visual Studioから公開するときにサーバーに転送された可能性があると思います。

この投稿には、一部の人々の問題を解決する解決策がいくつかありますが、すべてではありません。あなたはそれらを試して、それがあなたのために働くかどうか見ることができます。

必要なすべてのdllがプロジェクトに含まれていることを確認してください。プロジェクトをコンパイルし、dllのバージョンを比較し、これらが一致しない場合は、手動で各フォルダーに置き換えてください。正しいバージョンのDllを実行していることを確認してください。

これは私のために働いた。

.NET 4およびIIS 7.0でプリコンパイル済みのASP.NETプロジェクトを公開した後、同様の問題が発生しました。グローバルアプリケーションがアプリケーションの起動時に実行されていなかったため、PrecompiledApp.configをサーバーに配置した後、問題が解決され、コンパイルされたApp_global.asax.dllという名前のGlobal.asaxファイルがライフサイクルの前に出て実行されました。

Application_Start()の名前をApplication_OnStart()に変更すると問題が解決すると思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top