Показаны сообщения с ярлыком WCF. Показать все сообщения
Показаны сообщения с ярлыком WCF. Показать все сообщения

Azure и Silverlight

image

Ура! Вышел Silverlight 4 Beta! Начинаю его тестить!

image

Вышел также и новый Blend! Blend 4 Beta. Пишу статью, и параллельно его качаю!

Майкрософт все радует и радует нас новыми продуктами. Стоит еще отметить WCF RIA Services. Это все таки радует. Т.к. RIA и WCF тесно взаимодействуют. MS умудрились запихнуть их в один инсталлер. Скачаю – посмотрю, что получилось. А пока…

А пока ставится Silverlight Tools. Я честно не понимаю, к чему это обилие инструментов. Тот же бесполезный SketchFlow! То, что я могу нарисовать на бумаге или представить у себя в голове. Лишний раз дизайнить и делать концепт-приложения. По-моему это нужно лишний раз педантам, которые привыкли все делать “как надо”. Может для каких-то специфичных проектов – но по мне, это трата времени. Для мелких проектов Sketch не нужен. Для крупных – возможно. Но там за всем этим следят Leader Programmer-ы или Team Leader-ы. Т.е. на общую концепцию. Разве что им. Еще раз – проще взять лист бумаги и тут же нарисовать, что хочешь. Чем лишний раз изучать новую тулзу.

А пока все! Всем удачи в освоении новых технологий!

Обзор Visual Studio 2010 Beta 2

Сегодня утром я проснулся, зашел в приложение “Почта Windows Live” проверить свою электронную почту, и обнаружил клевое письмо!

image

Вышла наконец-то Beta 2! Это большое событие, после чего я сразу же поставил на закачку Visual Studio 2010 Beta 2 Ultimate. Среда Разработки поставляется в 3-х версиях: Professional, Premium и Ultimate.

Версия Ultimate конечно же самая полная и самая классная!

После того, как студия скачалась, я тут же поставил ее на установку.

image

Новое окно запуска(Splash Screen) в сине-фиолетовых тонах:

Безымянный

После установки, первое, что бросается в глаза – новый интерфейс, полностью переписанный на WPF:

image

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

ToDo: Надо как-нибудь нарисовать на досуге обложку для DVD для Visual Studio Beta 2

Нажимаю на кнопку, точнее на пункт меню слева – Новый проект…

image

Лично мне нравится обновленный дизайн! =)

Слева – дерево типов проектов, посередине – выбор типа из категории, справа – описание. Удобно.

Еще стоит отметить, что у нас есть .Net Framework 4 в качестве основной платформы приложения.

Для примера, я взял и создал приложение WPF на .Net 4:

image

Обновленный дизайн, карамельного цвета кнопки, подсветка.

Стоит заметить, что наблюдается падение производительности при работе со студией.

Но все это удобство того стоит.

Минимальные системные требования на мой взгляд:

2-хядерный процессор >1.5 ГГц Intel/AMD, 1 гигабайт оперативной памяти, желательно DDR3,              винчестер пошустрее - SATA/PATA.

И видеокарту не ниже GF 8 поколения.

Тулбокс:

image

Стоит отметить, что в MS VS 2010 Beta 2 теперь можно разрабатывать приложения Azure, SharePoint 2010, плагины для Office 2010.

На этом обзор новой студии я заканчиваю. Удобно, красиво, но пока еще тормозит. Стоит ли использовать .Net 4 сейчас? Ради интереса – можно. Стоит сказать, что основной платформой сейчас стала Windows 7, с предустановленным .Net Framework 3.5, поэтому есть смысл разрабатывать свое ПО именно под эту платформу, ведь не так много найдется энтузиастов, которым захотелось бы снова качать очередное обновление с сайта Майкрософт ради небольшой программы. А для коммерческих целей эта студия не подходит, т.к. еще находится под лицензией Бета и предназначена только для тестов.

Так что тестируем, смотрим, изучаем!

LINQ для прикладных задач

Решил написать статью на тему LINQ. LINQ – удивительная штука, особенно, если не хочешь сидеть и мучиться с SQL-запросами. Тут кому что ближе. Мне без разницы.

Но все же, LINQ.

В качестве примера я взял свой проект, над которым сейчас сижу. По моей задумке данные должны передаваться из двух полей типа TextBox в WCF-службу, а она с помощью LINQ, должна записывать их в Базу Данных.

Добавляю в проект файл типа Linq to SQL– DataClasses1.dbml:

image

Называю сущность именем postconn.

Дальше – интересней. В своей WCF-службе пишу такой код:

var dm = new DataClasses1DataContext();
var pc = new postconn {pname = a, pbody = b};
dm.postconns.InsertOnSubmit(pc);
dm.SubmitChanges();

Думаю тут нужно объяснить. Я создаю новый DataContext и называю его dm.

Затем создаю новую переменную типа postconn. Здесь уже идет сам синтаксис LINQ.

В третей строке я выполняю команду InsertOnSubmit, и в четвертой сам SubmitChanges.

InsertOnSubmit – заменяет стандартный оператор SQL Insert, после чего я применяю изменения.

Задача LINQ – облегчить манипулирование данными. Таблицы становятся как бы классами и с ними становится очень удобно работать.

Введение в .Net

Итак начнем с терминологии.

.Net Framework – платформа для разработки приложений.

Одной из основных идей Microsoft .NET является совместимость различных служб, написанных на разных языках. Т.е. можно писать систему или программный продукт на разных языках программирования(Delphi for .Net, IronPython, C#, VB.Net, C++.Net) и потом собирать вместе так, что все это еще и работать будет :)

Silverlight – платформа для разработки мультимедийных Web-ориентированных приложений, или сайтов.

WPF – Windows Presentation Foundation – универсальная платформа для разработке графического интерфейса (Graphical User Interface)

XAML – Расширяемый язык разметки приложений. Используется как для создания оконных Windows приложений(WPF), также я для Web-ориентированных (Silverlight)

WCF – Windows Communication Foundation, по сути это платформа для создания сетевых распределенных приложений. Новая ступень в развитии Web-служб. Мы можем всю логику нашего клиентского приложения вынести в WCF-службу и без проблем цепляться к ней из WPF Windows приложения, либо Silverlight-сайта.

Web-службы WCF в Silverlight

Сегодня я расскажу, как создавать проект Silverlight, в паре с Web-службой Windows Communication Foundation и как-то взаимодействовать с этой службой.
Начнем с того, что запустим MSVS 2008:
image
Далее, появляется окно, тут тоже просто ОК:
image
Создается проект Silverlight. Silverlight просто как статичный сайт нам не интересен. Давайте сделаем динамику. Чтобы можно было отправлять какие-то данные, получать какие-то данные. Для этого нам понадобится WCF-сервис.

addfile
В меню выбираем Web-сервис WCF, как-нибудь его называем и жмем кнопку Add:
image
В файле IMyWCFService.cs объявляем интерфейс функции TellMeSomething:
public interface IMyWCFService
{ [OperationContract] string TellMeSomething(string name); }


Далее переходим в файл MyWCFService.svc.cs:

image

Пишем нашу функцию TellMeSomething:

public class MyWCFService : IMyWCFService 
{
#region IMyWCFService Members public string TellMeSomething(string name)
{
return string.Format("Hello, {0} ! How are you?", name);
} #endregion
}
Далее мы идем в файл Web.config, находим пункт
<endpoint address="" binding="wsHttpBinding" contract="WebServicesForBlog.Web.IMyWCFService">
и меняем wsHttpBinding на basicHttpBinding.

Настройки конфигурационного файла на этом закончены.


Теперь возвращаемся к Silverlight-проекту и проектируем страницу:
<Grid x:Name="LayoutRoot">
<StackPanel x:Name="OurStackPanel" Orientation="Vertical">
<TextBox x:Name="InputStr"></TextBox>
<Button x:Name="CallService" Content="Call WCF Service" Click="CallService_Click"></Button>
</StackPanel>
</Grid>



Далее нам нужно подключить WCF-службу, что мы создали:
image


После чего в появившемся окне нажимаем кнопку – Discover, и вводим поле Namespace референс, т.е. название экземпляра нашей WCF-службы:

image

И нажимаем ОК.

Все, теперь службу WCF мы подключили к проекту. Осталось ее использовать.
Допишем в разметку еще и TextBlock для вывода текста:

<TextBlock x:Name="OutField"></TextBlock>

А теперь перейдем к программированию кнопки:
private void CallService_Click(object sender, RoutedEventArgs e) {
MyWCFServiceReference.MyWCFServiceClient proxy = new WebServicesForBlog.MyWCFServiceReference.MyWCFServiceClient();
proxy.TellMeSomethingCompleted += new EventHandler<WebServicesForBlog.MyWCFServiceReference.TellMeSomethingCompletedEventArgs>(proxy_TellMeSomethingCompleted);
proxy.TellMeSomethingAsync(InputStr.Text);
}

И добавим EventHandler для события, когда служба WCF уже отработала:

void proxy_TellMeSomethingCompleted(object sender, WebServicesForBlog.MyWCFServiceReference.TellMeSomethingCompletedEventArgs e)
{
OutField.Text = e.Result;
}

Теперь запускаем проект! Вводим имя в Textbox и нажимаем кнопку "Call WCF Service"

image

Служба обрабатывает значение из TextBox-а и возвращает значение в TextBlock. Таким образом службы WCF – это обширная платформа для разработки многофункциональных динамических Silverlight-приложений. WCF нужен там, где используется обмен и обработка данных сервером.