2009-08-26 4 views
0

Visual Studio Web Serverの前日にIIS内のローカル開発者をホストしました。 1つのWebサイトのみを意味するIISのワークステーションバージョンをお持ちの場合。いくつかのウェブサイトで作業している場合はどうでしょうか?簡単:VDIRで作成します(例: http://localhost/ProjectA,http://localhost/ProjectBASP.NETサイトをVDIRで使用できるようにコーディングする必要がありますか?

VDIRでの生活はそれほど難しくありません。すべての画像/ CSS /リンクが相対パスであることを確認し、 "〜"をたくさん使用してください。良い練習のように聞こえる。イメージなどのハードコードは、アプリケーションが「/」から提供されたときにのみ機能し、悪い習慣のように聞こえる。

いくつかのニュアンスがどこにリンク(ほとんどない一般的なシナリオ)を構築する必要があります。

だからあなたはこれをしていますか?利点/欠点?私が逃した他の邪魔?

答えて

1

特別な理由がない限り、ハードコードされたパス、URLなどは常に避けます。必然的に変化することがあり、開発サイトからプロダクションまで常にジャンプしています。

通常、最も厄介な部分は、他のパスを参照する必要がある再利用可能なクライアントの動作であり、アプリケーション自体のディレクトリ構造全体のページで再利用できます。

グローバルアプリケーションのプロパティに関するプロパティを動的に発行(およびキャッシング)する "globalvars.ashx"(またはそのようなものがありますが、これを処理する方法は多数あります)に対応するアイデアハンドラが欲しいです。

はglobalvars.ashxの責任ハンドラはこのような何かの結果を書き込み言う:

String.Format("var ApplicationProperties = {{ RootPath:{0} }};", Request.ApplicationPath); 

あなたのJS行動は理論的にApplicationProperties.RootPath経由で任意の時点で、そのプロパティのオブジェクトを参照することができます。

1

つまり、はいです。そうしないと、メリットよりも欠点があります。私は実際にあなたの最初の2つのポイントは、アプリケーション相対パス( "〜")を使用することでほとんど軽減できると考えていますが、「統合レベル」のようなシナリオ(PayPalなど)は実際には難しいかもしれません。

しかし、仮想ディレクトリにアプリケーションをホストする必要がある場合は、アプリケーションをvdirと見なさないようにコーディングしていないと、実質的に問題が保証されます。私は私が知っている。

背景/コンテキスト:私の現在の生産の環境はとにかくほとんど常に仮想ディレクトリですので、私はこれを必要に応じて行います。また、アプリケーションがルートレベルのWebサイトとして作成されたときに問題は発生しませんでした。これはまったく逆の場合には当てはまりません。

関連する問題