Вопрос

У меня есть веб-приложение, которое запрашивает индекс Lucene, и оно отлично работает на сервере W2K3 в моей сети.Теперь у меня есть код Azure, и я захотел протестировать службу, загружающую приложение.Для этого мне пришлось установить Vista (я сделал это на виртуальной машине), потому что Azure SDK не будет установлен на компьютере с XP.

Я создал свою облачную службу, добавил файлы из своего приложения, но когда я запускаю ее (просто F5), я получаю исключение SecurityException, когда я вызываю Lucene для запроса индекса, говоря:

Заявка попыталась выполнить операцию, не разрешенную политикой безопасности.Чтобы предоставить этому заявлению необходимое разрешение, обратитесь к своему системному администратору или измените уровень доверия приложения в файле конфигурации.

Я гуглил, и решения, которые я нашел, касаются изменения файла Machine.config, чего я не смогу сделать «в облаке».

Может ли кто-нибудь помочь в этом?

Это было полезно?

Решение

Хорошо, если кто-то сталкивается с такими же проблемами, это правильный ответ, который я получил на форуме Azure:

  

Это из-за политики доверия   для Windows Azure CTP.   Переменные среды TEMP и TMP   доступны и настроены соответственно.   Тем не менее, System.IO.Path.GetTempPath   и System.IO.GetTempFile не работают   так как они требуют неограниченного   разрешения среды. я мог бы   Предлагаю вам связаться с Lucene   разработчики, чтобы увидеть, могут ли они изменить   код, чтобы он работал правильно в среде   доверительные среды.

Спасибо Дэниелу К. Вангу за ответ.

Другие советы

Я также нашел вопрос, касающийся моей той же проблемы и того, как ее исправить.
Вот ссылка: Lucene.Net терпит неудачу на моем хосте, потому что он вызывает GetTempPath().Каков обходной путь?

Вы можете изменить доверие к web.config, если это не запрещено в machine.config (который часто используется в виртуальном хостинге). внутри вашего пут и посмотреть, что происходит.

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

Не сделали этого, но разве невозможно иметь версию Live Operating Environment для ПК? Это может показаться хорошим началом для устранения неполадок.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top