Я использую CF 10 Enterprise с установленными службами интеграции .NET после первоначальной установки и настройки двух экземпляров. Имена экземпляров — «cfusion», по умолчанию, а второй мы назовем «instance2».
Я установил .NET Integration Services через автономный установщик и выбрал c:\ColdFusion10\cfusion в качестве каталога, в который он должен быть установлен. Он создал каталог jnbridge в экземпляре cfusion и создал каталог ColdFusion10DotNetService. Запуск следующего кода в экземпляре fusion работает отлично:
<cfset UtilitiesProxy = "c:/inetpub/CFCs/MyCo/Integration/UtilitiesProxy.jar" />
<cfset CoStarUtilities = "c:/inetpub/CFCs/MyCo/Integration/MyCo.Utilities.dll" />
<cfset Paths = ArrayToList([CoStarUtilities, UtilitiesProxy]) />
<cfset Publisher = CreateObject( ".net", "MyCo.Utilities.Wall.Publisher", Paths ).init() />
Запуск того же кода в cfusion instance2
приводит к ошибке: The assembly that contains the class must be provided to the assembly attribute.
Это та же ошибка, которую я получал до того, как добился правильной работы служб интеграции .NET в cfusion.
Так что мне нужно выяснить, как разрешить instance2
доступ к службам интеграции .NET. Я пробовал копировать каталог jnbridge c:\ColdFusion10\instance2
и перезапускать экземпляр, но это не исправило проблему. У меня такое впечатление, что я упускаю какой-то другой кусочек головоломки, поскольку instance2
был создан до установки служб интеграции .NET.
решение1
Поскольку вы упомянули, что запустили установщик и указали свой первый экземпляр ColdFusion в качестве исходной папки, я бы попробовал снова запустить установщик и указать второй экземпляр ColdFusion в качестве исходной папки. Я уверен, что установщик делает больше, чем просто копирует файлы (вероятно, добавляет записи в реестр и т. д.). Поэтому запуск его в папке второго экземпляра может помочь вам.