Развертывание .Net Ria Services

У меня возникают трудности с развертыванием служб RIA / Silverlight 3 в промежуточной среде.

Вот моя ситуация: 1) Я использую RIA для аутентификации. Это отлично работает как на моей машине разработки, так и в промежуточной среде.

2) Я создал настраиваемую службу LinqToEntities RIA для получения данных из базы данных в свое приложение. Эта служба отлично работает, когда я делаю локальную сборку, но не работает на промежуточном сервере.

  • Код RIA на стороне сервера никогда не вызывается, когда клиент обращается к нему.
  • Кажется, что RiaContext инициализирован нормально, то есть не вызывает исключения.
  • Я использую код похожий на Context.Load(qry);, чтобы помещать данные в сущности. Срабатывает событие LoadOperation Complete, но данные не загружаются, серверные методы никогда не вызывались.

Есть идеи, что может быть не так?


person Gus    schedule 09.11.2009    source источник


Ответы (1)


Я бы проверил, есть ли у вас:

  1. Правильная строка подключения в вашем web.config.
  2. Приложение настроено для работы под учетной записью службы, имеющей разрешения на доступ к базе данных.

Ваш Context.Load должен передавать обработчик завершенного события, и в этом обработчике вы должны проверить, что LoadOperation.HasError имеет значение false. Если что-то пошло не так, исключение не возникнет, вы должны проверить явную ошибку.

person Bryant    schedule 09.11.2009
comment
Спасибо за ответ. Я получаю это в LoadOperation.Error.Message: было выбрано исключение типа System.Windows.Ria.Data.EntityOperationException. Моя база данных - Oracle, и я использую компоненты DevArt для получения сущностей. Поэтому я не думаю, что ошибка имеет какое-либо отношение к конфигурации базы данных. Любые другие предложения о том, что может вызывать ошибку? Код работает на машине разработчика, но не при развертывании на промежуточном сервере. - person Gus; 10.11.2009
comment
Вы должны проверить внутреннее исключение для этого исключения в свойстве Error. Если вы не видите внутреннее исключение, попробуйте это исправить: blog.davidyack.com/journal/2009/9/10/ - person Bryant; 10.11.2009
comment
Просто обновление - мне удалось решить проблему, отслеживая внутреннее исключение. Я смог сделать это только при запуске IE на сервере и подключении к этому процессу. Оказалось, что мне нужно было установить на сервере не только необходимую среду выполнения для моего стороннего инструмента ORM. Спасибо еще раз за помощь. - person Gus; 10.11.2009