У меня везде есть решение моей проблемы, но я не могу его найти. Я создал приложение Silverlight 4 Navigation и использую службы RIA для обработки пользовательского объекта (который по сути выполняет серверные вызовы в COM-библиотеки). В моей среде отладки все работает нормально, но когда я пытаюсь развернуть IIS7 (на компьютере разработчика) в качестве веб-сайта, при вызове Get для объекта возникает следующая ошибка:
Load operation failed for query 'GetNewHWCoil'. The remote server returned an error: NotFound.
at System.ServiceModel.DomainServices.Client.OperationBase.Complete(Exception error)
at System.ServiceModel.DomainServices.Client.LoadOperation.Complete(Exception error)
at System.ServiceModel.DomainServices.Client.DomainContext.CompleteLoad(IAsyncResult asyncResult)
at System.ServiceModel.DomainServices.Client.DomainContext.<>c__DisplayClass1b.<Load>b__17(Object )
Все, что я нашел в Интернете, говорит о том, чтобы проверить область аутентификации в IIS и убедиться, что она установлена только на анонимную аутентификацию, которая есть. И они также говорят, чтобы включить ведение журнала WCF, который, когда я добавляю необходимый текст в файл web.config, я все еще не получаю никаких журналов. Они также говорят, что нужно использовать Fiddler2 для отслеживания HTTP-вызовов, но там я получаю только ошибку 404 с textview, дающим мне стандартный файл IIS, который не найден. Я не могу понять, как отладить эту проблему.
Приложение Silverlight должно совершать вызовы в набор сторонних COM-библиотек для расчета производительности водяных катушек. Так как я не хочу, чтобы приложение запускало OOB (это сводит на нет весь смысл того, что оно является веб-приложением, а не приложением WPF), у меня есть проект ASP.net, взаимодействующий с библиотеками с помощью пользовательских объектов.
Функция (или Запрос, как ее называют службы RIA) GetNewHWCoil находится в классе DomainService и использует этот код:
Public Function GetNewHWCoil() as HWCoil 'HWCoil is a custom object
If bRanCalc then 'bRanCalc is a global boolean variable that gets set to true if the calc call on the dlls have been made
Return mHWCoil 'global copy of the calculated coil object
bRanCalc = False
else
Return New HWCoil
end if
End Function
Ошибка запускается до того, как должен быть вызван любой расчет, поэтому предполагается, что он является ошибкой в части «Возврат нового HWCoil».
Любая помощь по этому вопросу будет принята.
Спасибо
Chris