0

1 つは英国市場向けで、もう 1 つは米国市場向けであることを除いて、本質的に同じ Web サイトであるため、共有コード ベースを持つ Web サイトがいくつかあります。コードベースを共有するだけでなく、データベースも非常に基本的な CMS と共有するため、各 Web サイトに異なるコンテンツを含めることができます。

サイトには、各 Web サイトのいくつかの HttpContext.Current.Application 変数を設定するために使用できる管理ページがあります。これらの変数はそれほど頻繁には変更されませんが、更新せずにすぐに変更したい場合があります。設定ファイルなど

これは、IIS 6 を搭載したサーバー 2003 ボックスで何年も正常に機能しています。つい昨日、IIS 8 を搭載した光沢のある新しいサーバー 2012 ボックスにアップグレードしたところ、アプリケーション オブジェクトに問題が発生しました。

簡単に言うと、アプリケーション変数が 1 つの Web サイトで設定されると、両方のサイトで設定されるため、最後にどちらが設定されたかに応じて、英国市場は米国アプリケーション オブジェクトを認識し、逆も同様です。

アプリケーション オブジェクトは市場コードに基づいてデータベースから取得され、すべて正常に動作しています (コードは少なくとも 2 年以上変更されていません)。正しいオブジェクトが使用されていることを確認するために、いくつかのログを作成しました。ウェブサイトごとに読み込まれます。

各 Web サイトには独自のアプリケーション プールがあるため、これがどのように行われているかはわかりません。IIS 7.5 を使用して Server 2008 でサイトをテストしましたが、そこでは正常に動作します。同様に、IIS 8 を使用して Windows 8 開発マシンを実行し、新しいライブ サーバーと同じセットアップであると考えています (アプリ プールは同じように構成されています)。そして両方のサイトがそこで正しいことをします。

この種の問題を以前に聞いたことがありますか?また、これを修正するために調査できることについて何か提案はありますか? 別々のアプリケーション間で Application オブジェクトを共有することさえできないと思っていましたが、私の仮定は間違っていますか?

どうもありがとう!

マーク

4

2 に答える 2

0

これは構成の問題のように思えますが、それらのサイトの市場コードが異なっていますか? クエリがwrongアプリケーション オブジェクトの値を返すようです。

于 2013-09-18T08:37:29.890 に答える
0

わかりました。これは構成の問題であり、Web サイトや IIS の問題ではありませんでした。実際、システム管理者が Web サイトの DNS を変更したときに、誤って米国の Web サイトを英国の IP アドレスに変更したため、結局両方のサイトが同じアプリケーションであることが判明しました。残念ながら、IP アドレスを確認するためにサイトに ping を実行するなど、思いもよらなかったことです。変更を行うには、途方もなく早朝に開始するしかありません。その結果、疲れ果てた多くの開発者が野生のガチョウの追跡に巻き込まれます。

それでも、他の誰かが同様の問題を抱えている場合は、おそらくこれが役立つでしょう.

于 2013-09-18T08:43:21.763 に答える