У меня проблемы с поиском достаточного количества информации, чтобы выяснить, чего не хватает в опубликованном приложении Silverlight.
Запуск приложения локально (но с помощью строки подключения db к «живой» базе данных), все работает нормально.
Однако при попытке запустить на опубликованном удаленном сайте происходит сбой. Кажется, это связано с подключением к БД, но я не получаю подробных сообщений об ошибках от сервера.
Я добавил "отладочный" код в методе завершения службы RIA
if (myLoadOperation.HasError)
{
MessageBox.Show(myLoadOperation.Error.Message);
MessageBox.Show(myLoadOperation.Error.InnerException.ToString());
}
В окне сообщения отображаются:
Ошибка операции загрузки для запроса «GetData». Удаленный сервер возвратил ошибку: NotFound
Что не найдено ??!?
Дополнительная информация, полученная от JIT Debugger (VS2010)
Не обнаружена. в System.ServiceModel.DomainServices.Client.OperationBase.Complete (ошибка исключения)
Я подозреваю, что это может быть dll, связанная с EF или RIA, которая может отсутствовать на удаленном сервере, но я не совсем уверен, как определить, что не так. Это среда общего хостинга.
Может ли он находиться у провайдера MySQL?
connectionString="metadata=res://*/Model.Model1.csdl|res://*/Model.Model1.ssdl|res://*/Model.Model1.msl;provider=MySql.Data.MySqlClient;provider connection string="server=xxxxxxxxx;User Id=xxxxxxx;password=xxxxxxxxx;Persist Security Info=True;Allow Zero Datetime=True;Convert Zero Datetime=true;database=xxxxxxxxxx;" providerName="System.Data.EntityClient"
Я загрузил следующие dll в папку bin сервера:
System.ServiceModel.DomainServices.EntityFramework.dll
System.ServiceModel.DomainServices.Hosting.dll
System.ServiceModel.DomainServices.Hosting.OData.dll
System.ServiceModel.DomainServices.Hosting.Server.dll