Разработка модулей DotNetNuke с веб-сервисами

Вы должны объявить hashMapColorAndPets на уровне класса, вне каких-либо методов. В противном случае он не существует вне метода.

Если вы хотите иметь один hashMapColorAndPets общий для всех PetFavoriteColor экземпляров, вы должны сделать его статическим:

public class PetFavoriteColor {
    // Gets created only once ever
    private static final HashMap<Color, HashSet<Pet>> hashMapColorAndPets
       = new HashMap<Color, HashSet<Pet>>();

    // Can be accessed using PetFavoriteColor.getHashMap()
    public static HashMap<Color, HashSet<Pet>> getHashMap() {
        return hashMapColorAndPets;
    }
}

Если вы хотите иметь отдельную хэш-карту для каждого экземпляра , сделайте это без статики:

public class PetFavoriteColor {
    // Gets newly created with every PetFavoriteColor
    private final HashMap<Color, HashSet<Pet>> hashMapColorAndPets
       = new HashMap<Color, HashSet<Pet>>();

    // Can be accessed like:
    //   PetFavoriteColor petFav = new PetFavoriteColor();
    //   petFav.getHashMap();
    public HashMap<Color, HashSet<Pet>> getHashMap() {
        return hashMapColorAndPets;
    }
}

Метод main() в PetFavoriteColor будет запускаться только как точка входа для программы, поэтому он ничего не делает - у вас уже есть точка входа в JavaFX класс.

5
задан bdukes 25 February 2009 в 21:43
поделиться

1 ответ

Можно включать файл ASMX включением элемента в <files> раздел:

<files>
 <file>
  <name>YourWebService.asmx</name>
  <path></path>
 </file>
</files>

Обычно Вы не должны указывать путь.

С другой стороны, можно включать файл Resources.zip с пакетом, который будет включать любые файлы кроме тех, которые DNN должен обработать во время установки (например, Блоки и файлы SqlDataProvider).

Преимущество этого является пригодностью для обслуживания. Используя Resources.zip помешает Вам иметь для редактирования файла манифеста много раз...

Содержание zip-файла будет просто распаковано в каталог корневого модуля (например,/DesktopModules/YourModule /*). Если будет файловая структура в рамках Вашего zip-файла, то это будет сохраняться.

Вы захотите добавить TheNameOfYourFile.zip К своему файлу манифеста под элементом.

[snip]

<folder>
  <name>Your Module</name>
  <friendlyname>Your Module</friendlyname>
  <foldername>YourModule</foldername>
  <modulename>YourModule</modulename>
  <description>A module for DotNetNuke websites.</description>
  <version>01.00.00</version>
  <resourcefile>Resources.zip</resourcefile>
  <businesscontrollerclass></businesscontrollerclass>
  <modules>
    <module>

[/snip]

Что касается ссылки на него в Вашем модуле - я предлагаю использовать:

<%=ResolveUrl("~/DesktopModules/YourModule/Services.asmx")%>
5
ответ дан 14 December 2019 в 19:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: