Silverlight 4 OOB с локальными параметрами данных - PullRequest
3 голосов
/ 30 сентября 2010

Сейчас у меня есть приложение Winform с серверной частью SQL Server. DAL состоит из Linq to SQL. Одной из сложностей этого приложения является необходимость работать в автономном режиме.

Я выполнил это с помощью репликации слиянием, чтобы синхронизировать локальные экземпляры SQL Express с центральным SQL Server. У меня есть некоторая логика, которая обнаруживает там состояние соединения и соответствующим образом переключает строку соединения contexts.

Мой вопрос, таким образом, будет ли это работать с Silverlight 4? Теоретически, я бы определил, когда они отключены, и переключил бы соединение соответствующим образом. Мысли


EDIT

Кажется, это действительно возможно. Смотри ЗДЕСЬ .

То, что я сейчас хотел бы понять, это то, что я мог бы заставить EF или L2S работать с этим вместо RecordSets, как это показано.

Ответы [ 2 ]

1 голос
/ 01 октября 2010

Что говорит casperOne, так это то, что из браузера Silverlight нет доступа к полноценной базе данных на клиенте.Лучшее, что можно сделать, - это использовать какую-то компактную базу данных либо в изолированном хранилище, либо в одной из немногих доступных папок с Silverlight 4. Я лично использовал siaqodb.com, но вам придется синхронизировать данные вручную (что может быть кошмаром).

Недавно я видел, как кто-то получил доступ к компактной базе данных SQL .Однако сейчас может быть больше способов доступа к данным.Я давно искал базу данных на стороне клиента для Silverlight.

1 голос
/ 30 сентября 2010

С Silverlight (любая версия) проблема не столько в подключении к базе данных. В Silverlight у вас его нет. Единственное, что вы можете сделать - это перезвонить на сервер, с которого исходил запрос.

Из-за этого вам нужно будет запустить какой-то локальный экземпляр IIS и подключиться к нему, который, в свою очередь, затем подключится к локальному экземпляру SQL.

Дело в том, что если ваше SL-приложение было загружено с вашего сайта, а затем связь была потеряна, ваше приложение не могло его обнаружить. Вам придется перейти на новую ссылку на сервер на локальном компьютере, а затем переключить их обратно, когда у них снова будет подключение.

Для чего-то подобного, вероятно, лучше придерживаться приложения Winforms и определить, есть ли у вас подключение к нему. Таким образом, вы можете переключаться между базами данных, к которым вы обращаетесь, когда у вас нет подключения.

...