0

私は ASP.Net Web サイトで作業しており、問題なくサーバーに公開しています。すべてがより論理的に配置されるように、公開されているパスを数ステップ下に変更することにしました。

以前:C:/inetpub/wwwroot/(こちら)

思い通りにすべてを手に入れた後、2段階下げるように変更しました。

変更後: C:/inetpub/wwwroot/super/duper/(こちら)

すべてが壊れ始めたのは、/wwwroot/ にある最上位のものをクリーンアップするまでではありませんでした。.ashx ハンドラーが見つからないというエラーが表示されます。数時間ぼんやりと見つめた後、/super/duper/bin/ ファイルを最上位の /inetpub/wwwroot/bin/ と viola に移動しました。出来た。

ここで私の質問は、/bin/ ファイルが常に Web アクセス可能であったのに、なぜこれがこのような影響を与えたのでしょうか?

4

3 に答える 3

0

他の回答とこの質問が暗示しているのは、サイトを参照したい場所にフォルダーを移動し、さらに重要なことにコードを実行するだけでは十分ではないということです。私の見方では、あなたには2つの選択肢があるということです。

オプション1。

bin フォルダーは WWWROOT レベルのままにしますが、他の項目を必要なフォルダー構造に移動します。ランタイムは bin フォルダー内の dll をアプリ プールに読み込み、aspx などはそれを参照する必要があります。

オプション 2。

必要なレベルで仮想フォルダー/アプリケーションを作成し、そこにすべてをドロップします。

オプション2の方が良いと思います。

また、URL で ~ を使用していない場合は、それを確認することをお勧めします。

于 2012-02-20T14:29:28.010 に答える
0

bin ディレクトリは、GAC にない場合を除き、コンパイルされたアセンブリが配置されるシステム ディレクトリです。Bin ディレクトリは、サイトのルート フォルダーに配置する必要があります。独自のアセンブリ登録モジュールを持っているか、オンザフライでロードしない限り:-)

于 2012-02-20T12:24:45.357 に答える
-1

ASP.NET アプリケーションは、IIS でアプリケーションとして定義されたフォルダーのルートに配置する必要があります。アプリケーションは任意のフォルダに作成できます。アプリケーション設定を含む web.config などのアプリケーション レベルのものと bin フォルダーは、このアプリケーション フォルダーに直接配置する必要があります。IIS6 では、アプリケーションは仮想ディレクトリと呼ばれます。

于 2012-02-20T12:26:08.403 に答える