2009-08-29 2 views
2

Ive читал об этом, и, честно говоря, все это похоже на кучу тарабарщины.Можете ли вы объяснить мне службы Microsoft .NET RIA?

Я не хочу читать все о том, как это улучшает ваш опыт, и вы можете использовать его для создания этого и того.

Можете ли вы дать мне четкое определение того, что он делает, это было бы потрясающе.

ответ

5

Когда мы пишем для Windows приложения все происходит на одном компьютере (если вы получаете данные из сети. Вы щелкните мышью, обработчик события вызывается, вы можете изменить то, что отображается.

Затем, с интернет, у вас есть среда без состояния, где (на мгновение откладывается Javascript) весь код запускается на сервере. Использование статического HTML-кода ASP.Net генерируется и переносится на клиента. В свою очередь пользователь может предпринять действия, сервер получит другой запрос и т. д.

С Silverlight все происходит на клиенте - Xap загружается, распаковывается и запускается. Проблема в том, что не все может быть сделано в приложение Silverlight - это не похоже на приложение Windows, которое может перезаписывать/сохранять файлы с жесткого диска - это больше похоже на приложение Asp.Net. Проблема в том, что данные на сервере, приложение Silverlight находится на клиенте. Поэтому разработчикам необходимо написать асинхронный код (чтобы пользовательский интерфейс не зависал). Это сложнее, чем синхронная обработка событий, к которой привыкли разработчики Windows. Кроме того, каждый раз, когда вам нужно получать данные, например, аутентификацию пользователя, он возвращается на сервер для проверки. Поэтому, когда Silverlight выглядит как «WPF в браузере», это действительно совсем другой стиль программирования. Веб-разработчик будет знаком с этим, но стандартный бизнес-разработчик, который хочет начать использовать Silverlight, найдет много накладных расходов.

Таким образом, службы .Net RIA пытаются довести удобство разработки Windows до Silverlight. Он делает это, создавая основу для выполнения таких действий, как предоставление возможности совместного использования типов .net между серверами клиентов, которые могут действовать на клиенте с сохранением состояния и передавать данные обратно на сервер, используя службы rest xml/json.

Одна примерная услуга предоставляется для аутентификации пользователя/авторизации/настроек.

Я бы порекомендовал вам посмотреть this article by Nikhil Kothari, а также это (PDF) walkthrough. Также посмотрите на некоторые из provided samples и попробуйте запустить/изменить их.

+0

+1, очень хороший ответ. –

3

От http://blogs.msdn.com/brada/archive/2009/03/19/what-is-net-ria-services.aspx:

Microsoft .NET RIA Services упрощает традиционное применение многоуровневых картины путем объединения ASP.NET и Silverlight платформ. Службы RIA предоставляют шаблон для логики записи приложений, которая работает на среднего уровня и контролирует доступ к данных для запросов, изменений и настраиваемых операций . Она также обеспечивает поддержку от конца до конца для выполнения общих задач , таких как проверка достоверности данных, аутентификации и ролей по интеграции с Silverlight компоненты на стороне клиента и ASP.NET на среднем уровне.

Итак, что я бы кипятить это вниз к тому, что в нем присутствует форма ASP.Net и Silverlight были разработаны независимо друг от друга и не были явно предназначены друг с другом в виду, так что делает ASP.Net приложений и Silverlight приложений и работы взаимодействовать друг с другом, требует справедливого кусочка сантехники. Microsoft пытается упростить эту задачу, создав платформу и шаблоны для поддержки этого стиля смешанной разработки приложений Silverlight + ASP.Net.

+0

По-прежнему не понимаю. Ну что ж. – Michael

1

Самый простой ответ заключается в том, что службы RIA включают в себя кучу услуг и системный код Entity Framework, который вам не нужно писать самостоятельно. Цель состоит в том, чтобы сделать код Silverlight таким же простым для записи и понимания, как если бы это было простое приложение ASP.NET или Windows/WPF.

1

Помимо официального ответа от нас, подумайте о RIA Services как о простом автоматическом подходе к объединению вашего сервера и клиента вместе - в большинстве случаев его Silverlight + ASP.NET.

Теперь простой способ взглянуть на это - основные фундаментальные проблемы, которые он хочет решить, сначала «Как мне получить мой POCO/VO/TO и т. Д. С сервера на клиента и обратно, без необходимости писать мои собственную логику сериализации/десериализации? " - ответ, .NET RIA Services обрабатывает это для вас через некоторый базовый код-gen, который команда внедряет, а также использует возможности служб данных ADO.NET.

Мне нравится лично думать о .NET RIA DataServices как клей между клиентом & Сервер, и в рамках этого вы получаете много сложных и мощных API-интерфейсов, которые помогут вам маршировать данные и т. Д. Назад и вперед.

Основная работа служб RIA заключается в том, чтобы сосредоточить внимание на создании приложений и т. Д. И менее на «проектировании собственной структуры с нуля».

Быстрого ASCII сырая схема такова:

КЛИЕНТ (Silverlight) -> ADO.NET Data Services (клиент) < ->CLOUD < - Услуги> ADO.NET Data (Сервер) < - Сервер (ASP.NET)

Мы сделаем все возможное, чтобы объяснить ЧТО скоро, и хорошая обратная связь здесь для нас.

- 
Scott Barnes 
Rich Platforms Product Manager 
Microsoft. 
+0

Спасибо Скотту за информацию. В качестве примечания, тот, кто придумал это имя, не оказал никакой пользы. – user179700

Смежные вопросы