SQL Server 2005/2003のIIS環境で動作するVB 6.0/ASP(.NETではない)Webアプリケーション。実行されるac/C++コンポーネント(exe/service)があります。サーバー。VB6.0およびwindows 2003クラスタリング
お客様は、Windowsクラスタ環境で実行したいと考えています。問題は、Windows API GetComputerNameの使用により発生します。これにより、実際のサーバー名が取得され、「別名」クラスター名は取得されません。
c/C++コンポーネントは、exeファイルのWindowsでプロパティを設定することで修正され、getcomputername呼び出しによってネットワーク名(この場合は別名クラスタ名)が返されます。
VB/ASP部分には、getcomputernameの呼び出しもあります。いくつかの設定は、c/C++ exeを定義する方法と似ていますが、getcomputernameにネットワーク名を使用させることができますか?
ウェブページのログイン画面が読み込まれたときに、バージョン/機能情報が存在する必要があります。method〜〜オブジェクトが見つかりませんでした。 activecomputernameのregキーをalias clusternameに手動で変更すると、このエラーはなくなります。いくつかのウィンドウの処理が行われ、このキー値を正しい名前に戻すため、これを長期的な修正として使用します。
クラスタ化されたenvでvbアプリケーションを破棄するための提案はありますか?私は、コードを変更する必要はありませんし、アプリケーションがクラスタ対応であるために書かれなければならない場合は半ショックを受けます。
ありがとうございます!
アップデート2009年7月31日
を介してローカルマシン名の代わりに、ネットワーク・ノード名を使用するようにIIS(またはウェブサイトに割り当てられているVB)を伝える方法があった場合、私は思っていたMSクラスタ管理ツール。私はそれが今までのところ誰もが提案したところで私の切断が起こっていると思う。ここでも、クラスタ管理ツールにc/C++アプリケーションを追加し、コードを変更せずにネットワークノード名を使用するように設定できました。 IISで実行されるVB/ASPに対して同じことを行う方法がいくつかあります。クラスタリングのためにIISを構成する必要がありますか?
DNSエントリまたはローカルホストファイルで試してみることもできます。 GetComputerName次の呼び出しは、クラスタのIPを解決することです...これは動作するかどうかはわかりませんが、試してみる価値があります。 –