Веб-приложение VB 6.0 / ASP (не .NET), работающее в среде Windows Server 2003 / IIS с сервером SQL 2005. На сервере работает компонент c / c ++ (exe / service).
Клиент хотел бы работать в кластерной среде Windows. Проблемы возникают из-за использования Windows API GetComputerName. Это извлекает фактическое имя сервера, а не кластерное имя «псевдоним».
Компонент c / c ++ был исправлен путем установки в windows свойства для этого exe-файла, который заставляет вызов getcomputername возвращать имя сети, которое в данном случае является псевдонимом кластера.
Часть VB / ASP также имеет вызовы getcomputername. Есть ли какая-то настройка, похожая на то, как вы можете определить исполняемый файл c / c ++, где вы можете заставить getcomputername использовать сетевое имя?
Что мы видим, когда загружается экран входа в систему веб-страницы, где должна быть информация о версии / функции, возникает ошибка, указывающая: метод ~ объекта ~ не найден. Если мы вручную изменим ключ reg activecomputername на псевдоним имени кластера, эта ошибка исчезнет. Не могу использовать это как долгосрочное исправление, потому что некоторые процессы Windows приходят и возвращает значение этого ключа обратно к правильному имени.
У кого-нибудь есть предложения по запуску vb-приложений в кластерном окружении? Я бы предпочел не менять код, и был бы шокирован, если бы приложение было написано с учетом кластера.
Спасибо!
Обновление 7/31/2009
Мне было интересно, можно ли было сказать IIS (или vb, назначенному веб-сайту) использовать имя сетевого узла вместо имени локального компьютера через инструмент администрирования MS Cluster. Я думаю, что именно здесь мое разъединение происходит с предложениями всех до сих пор. Я снова смог добавить приложение c / c ++ в инструмент администрирования кластера и настроить его на использование имени сетевого узла без изменения какого-либо кода. Есть ли способ сделать то же самое для VB / ASP, который работает в IIS. Нужно ли настроить IIS для кластеризации?