Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SilverLight доступ к данным 
:(
    Опции темы
fanat107
Дата 9.4.2008, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 27
Регистрация: 18.3.2006
Где: г.Владимир

Репутация: нет
Всего: нет



Решил сделать на СЛ простенькую систему, но столкнулся с проблемой: В СЛ не поддержки нормального способа доспура к данным( БД). Единственный который я нашел с помощью WebService.

Петерь проблема: делать знаю как, но неполучается и рабочий пример ни какн емогу найти. Может у кого есть уже реализованный пример, поделитесь пожадуйста!
Зарание спасибо.
PM ICQ   Вверх
archeg
Дата 9.4.2008, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 1
Всего: 27



Это сделано специально. Подумай сам - ведь СЛ работает на клиентской машине. Я не специалист по БД, но мне кажеться - прямой доступ к БД с клиента - ущерб безопасности. Кроме того можно распределить вебсервисы на несколько машин, реализовать в них аутентификацию, валидацию данных, обработку данных и наконец кеширование результатов. Довольно удобная штука.

Недавно писал код SilverLight + WCF. Мне WCF очень понравилось - проще некуда. Код кинуть не могу - тем более он сейчас не работает smile Если ни у кого нету живого примера - напишу завтра пару строк.

Единственное я не разобрался как реализовать обратную связь в WCF. Сделал грубо - опрашивал сервис каждую сек. Может кто подскажет вариант лучше?

Это сообщение отредактировал(а) archeg - 9.4.2008, 23:54


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
Kefir
Дата 10.4.2008, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 22
Всего: 87



очень неплохой туториал по построению сервиса и его потреблению нашёл:
http://silverlight.net/quickstarts/Remote/...2cb3c2e522.aspx
сырцов там не нашёл, посему прикрепляю к посту

Добавлено через 4 минуты и 39 секунд
сделано, кстати, через асинхронные методы. правда, если надо постоянно обновлять инфу - постоянного опроса сервиса не избежать.

Присоединённый файл ( Кол-во скачиваний: 16 )
Присоединённый файл  CustomerService.zip 616,42 Kb
PM MAIL WWW Skype   Вверх
archeg
Дата 10.4.2008, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 1
Всего: 27



Модель Silverlight поддерживает только использование асинхронных методов при вызове методов сервиса. Сделано намерено - все таки приложения сильверлайт зачастую однопоточны, а не-асинхронный вызов бы убил бы весь респонс на действия юзера smile 


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
mr.DUDA
Дата 10.4.2008, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 1
Всего: 232



archeg, в WCF по-моему есть родная поддержка двусторонних каналов... Т.е. грубо говоря можно подписаться на событие сервиса и вызвать его на сервере - клиент должен поймать, ИМХО.


--------------------
user posted image
PM MAIL WWW   Вверх
archeg
Дата 10.4.2008, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 1
Всего: 27



Цитата(mr.DUDA @  10.4.2008,  09:44 Найти цитируемый пост)
archeg, в WCF по-моему есть родная поддержка двусторонних каналов... Т.е. грубо говоря можно подписаться на событие сервиса и вызвать его на сервере - клиент должен поймать, ИМХО. 

Я пробовал, но на событие компилятор ругался. Вообще тоже это очень странно - ведь должно же. Скорее всего я просто что-то не так сделал


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
МаркушА
Дата 20.4.2008, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 20.4.2008

Репутация: нет
Всего: нет



Кто - то уже работал с кросс – доменным вызовом в Silverlight 2.0, так называемой REST службой??????????? smile 
PM MAIL   Вверх
archeg
Дата 20.4.2008, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 1
Всего: 27



http://msdn2.microsoft.com/en-us/library/c...955(VS.95).aspx
REST и кросс-доменный вызов это не одно и то же smile Просто в условиях создания REST-службы необходимо учитывать cross-domain policy

Это сообщение отредактировал(а) archeg - 20.4.2008, 20:08


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
МаркушА
Дата 21.4.2008, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 20.4.2008

Репутация: нет
Всего: нет



А как лучше передавать данные с помощью REST или WCF, и что лучше обеспечивает безопасность передачи данных?
PM MAIL   Вверх
archeg
Дата 21.4.2008, 17:26 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 1
Всего: 27



С помощью WCF можно создать RESTful API. Это не альтернативы - это разные вещи.
http://en.wikipedia.org/wiki/Representational_State_Transfer

Тут можно скачать доклад про WCF + REST: http://msstudios.vo.llnwd.net/o21/mix08/08_WMVs/T01.wmv
Тут про ADO.NET DS + REST: http://msstudios.vo.llnwd.net/o21/mix08/08_WMVs/BT02.wmv
Оба файла выше 50 мб.

Это сообщение отредактировал(а) archeg - 21.4.2008, 17:27


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
МаркушА
Дата 24.4.2008, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 20.4.2008

Репутация: нет
Всего: нет



Я начал создавать SL проект с использованием ASMX и WCF, простенький.
И у меня возникла проблема с WCF, вроде все правельно и проект запускается и даже работает ASM, а когда надо использовать WCF то прога виснет. Вот Пример кода:

Код

using System;
using System.ServiceModel;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Silverlight_WCF.ServiceReference1;
using Silverlight_WCF.ServiceReference2;

namespace Silverlight_WCF
{
    public partial class Page : UserControl
    {
        ServiceClient proxy1;
        WebServiceSoapClient proxy2;

        public Page()
        {
            InitializeComponent();
            BasicHttpBinding bind = new BasicHttpBinding();
            EndpointAddress endpoint = new EndpointAddress("http://localhost:49267/Silverlight_WCF_Web/Service.svc");
            proxy1 = new ServiceClient(bind,endpoint);
            proxy1.HelloCompleted += new EventHandler<HelloCompletedEventArgs>(proxy1_hello);
            endpoint = new EndpointAddress("http://localhost:49267/Silverlight_WCF_Web/WebService.asmx");
            proxy2 = new WebServiceSoapClient(bind, endpoint);
            proxy2.HelloWorldCompleted += new EventHandler<HelloWorldCompletedEventArgs>(proxy2_hello);
        }

        private void button_Click(object sender, RoutedEventArgs e)
        {
            proxy1.HelloAsync();
        }

        void proxy1_hello(object sender, HelloCompletedEventArgs e)
        {
            Text.Text = e.Result;
        }

        void proxy2_hello(object sender, HelloWorldCompletedEventArgs e)
        {
            Text.Text = e.Result;
            ListMesseger.Items.Add((object)e.Result);
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            proxy2.HelloWorldAsync();
        }
    }
}



Помогите разобраться  smile 
PM MAIL   Вверх
МаркушА
Дата 30.4.2008, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 20.4.2008

Репутация: нет
Всего: нет



Че неужели все правельно, или никто не может разобраться??????????
 smile  smile  smile  smile  smile 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.4446 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.