Как создать/использовать службу WCF oData (служба RESTful) с помощью инструментария U2 для .NET?

Я хочу создать службу WCF oData (служба RESTful), используя U2 Toolkit для .NET и базу данных U2. Затем я хочу использовать службу oData в любом клиентском приложении .NET.


person Tyler Elma    schedule 14.01.2013    source источник
comment
Без конкретного вопроса сложно дать конкретный ответ. Предлагаю обратиться к соответствующей документации, затем, если возникнут конкретные вопросы, задавать их здесь. Документация для веб-сервисов RESTful находится здесь: rocketsoftware.com/u2/products/u2-clients-and-db-tools/. Если вы установили Toolkit для .NET, должна быть папка с установленной документацией.   -  person Glenn Sallis    schedule 14.01.2013


Ответы (1)


Пожалуйста, смотрите мой ответ ниже:

Обзор

WCF Data Services предоставляет данные сущностей как службу данных. Эти данные объекта можно создать из базы данных U2 с помощью U2 Toolkit для .NET. В этом разделе показано, как создать модель данных на основе Entity Framework в веб-приложении Visual Studio, основанном на существующей базе данных, и использовать эту модель данных для создания новой службы WCF oData (службы RESTful). Вы можете использовать службу WCF oData в другом приложении .NET, например:

  • WPF-приложение
  • Приложение в стиле метро для Windows 8
  • Офис EXCEL

Установка

Вам необходимо установить набор инструментов U2 для .NET v 1.2.0. Он содержит надстройки U2 ADO.NET Provider и U2 Database Add-ins для Visual Studio.

введите здесь описание изображения

Создать модель данных объекта с существующей учетной записью U2

Мы будем использовать образец базы данных U2 UniVerse под названием «HS.SALES». 1. Создайте веб-приложение ASP.NET с именем «U2_WCF_oData_WebApplication».

введите здесь описание изображения

  1. В меню Проект щелкните Добавить новый элемент.
  2. На панели «Шаблоны» щелкните категорию «Данные», а затем выберите «Модель данных объекта ADO.NET».
  3. Введите название модели и нажмите «Добавить». введите здесь описание изображения

  4. В диалоговом окне «Выбор содержимого модели» выберите «Создать из базы данных». Затем нажмите Далее.

  5. Нажмите кнопку Новое подключение. введите здесь описание изображения
  6. В диалоговом окне Свойства подключения введите параметры строки подключения и нажмите кнопку ОК.
  7. Убедитесь, что установлен флажок Сохранить параметры подключения объекта в App.Config as:. Затем нажмите Далее.
  8. Измените «Объекты» на «CustomerEntities» введите здесь описание изображения
  9. В диалоговом окне Choose Your Database Objects выберите CUSTOMER и CUSTOMER_ORDERS, которые вы планируете предоставлять в службе данных. Измените «HS.SALESModel» на «CustomerModel». введите здесь описание изображения
  10. Нажмите Готово, чтобы завершить работу мастера. введите здесь описание изображения

Создайте службу WCF oData (служба RESTful), используя новую модель данных (модель клиента)

  1. В Visual Studio откройте файл Customer.edmx, представляющий модель данных.
  2. В обозревателе моделей щелкните модель правой кнопкой мыши, выберите «Свойства» и запишите имя контейнера сущностей. введите здесь описание изображения
  3. В обозревателе решений щелкните правой кнопкой мыши имя своего проекта ASP.NET и выберите команду Добавить новый элемент.
  4. В диалоговом окне Добавить новый элемент выберите Служба данных WCF.
  5. Укажите имя службы и нажмите кнопку ОК. введите здесь описание изображения
  6. В коде службы данных замените комментарий /* TODO: укажите здесь имя класса источника данных */ в определении класса, определяющего службу данных, на тип, который наследуется от класса ObjectContext и является контейнером сущностей. модели данных, которая была отмечена на шаге 2.

открытый класс U2_Customer_WcfDataService : DataService‹ /* TODO: укажите здесь имя класса источника данных */ >

public class U2_Customer_WcfDataService : DataService< CustomerEntities >
  1. В коде службы данных разрешите авторизованным клиентам доступ к наборам сущностей, предоставляемым службой данных. Дополнительные сведения см. в разделе Создание службы данных.

    // config.SetEntitySetAccessRule("MyEntityset", EntitySetRights.AllRead);

     config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
    
  2. Чтобы протестировать службу данных U2_Customer_WcfDataService.svc с помощью веб-браузера, нажмите Visual Studio ->Debug->StartWithoutDebugging.

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

Использовать службу WCF oData (служба RESTful)

  1. Создайте проект WPF в том же решении. Переименуйте проект в «U2_Consumer_WpfApplication».

введите здесь описание изображения2. Добавьте ссылку на сервис

введите здесь описание изображения

  1. Нажмите кнопку «Обнаружение», переименуйте «U2_WCF_oData_ServiceReference». Нажмите ОК.

введите здесь описание изображения

  1. Перейдите в Данные->Показать источники данных.

введите здесь описание изображения

  1. Перетащите «КЛИЕНТЫ» в WPF Designer.

введите здесь описание изображения

  1. Откройте файл «MainWindow.xaml.cs». Добавьте эту строку (ваш uri будет другим).

    частный Uri svcUri = новый Uri("http://localhost:38346/U2_Customer_WcfDataService.svc/" );

  2. Добавьте эту строку.

    U2_WCF_oData_ServiceReference.CustomerEntities ctx = новый U2_WCF_oData_ServiceReference.CustomerEntities(svcUri);

  3. Добавьте эту строку.

    CUSTOMERsViewSource.Source = ctx.CUSTOMERs.ToList();

  4. Ваш готовый код будет выглядеть так, как показано ниже. общедоступный частичный класс MainWindow: Window { private Uri svcUri = new Uri("http://localhost:38346/U2_Customer_WcfDataService.svc/");

    public MainWindow()
    {
        InitializeComponent();
    }
    
    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        U2_WCF_oData_ServiceReference.CustomerEntities ctx = new U2_WCF_oData_ServiceReference.CustomerEntities(svcUri);
        System.Windows.Data.CollectionViewSource cUSTOMERsViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("cUSTOMERsViewSource")));
        // Load data by setting the CollectionViewSource.Source property:
        // cUSTOMERsViewSource.Source = [generic data source]
        cUSTOMERsViewSource.Source = ctx.CUSTOMERs.ToList();
    }
    

    }

  5. Установите приложение WPF как «Запуск проекта». Запустите приложение WPF.

введите здесь описание изображения

person Rajan Kumar    schedule 14.01.2013
comment
Спасибо за ваш ответ, это действительно очень хороший пример, именно то, что я хочу, спасибо! - person Tyler Elma; 16.01.2013