2

私はそれについて読みました、そして正直に言うと、それはすべて私にはたくさんのぎこちないように思えます。

私はそれがあなたの経験をどのように向上させるかについてすべてを読みたくありません、そしてあなたはこれとそれを構築するためにそれを使うことができます。

それが何をするのかを明確に定義していただけませんか。それは素晴らしいことです。

4

4 に答える 4

5

Windows アプリを作成するとき、すべてが 1 台のコンピューターで行われます (ネットワークからデータを取得する場合を除きます。マウスをクリックすると、イベント ハンドラーが呼び出され、表示される内容を変更できます。

次に、インターネットを使用すると、すべてのコードがサーバー上で実行されるステートレス環境が得られます (Javascript は少し脇に置きます)。ASP.Net を使用すると、静的 HTML が生成され、クライアントにプッシュされます。その見返りに、ユーザーはアクションを実行でき、サーバーは別のリクエストを受け取ります。

Silverlight では、Xap がダウンロードされ、解凍され、実行されるというすべてがクライアント上で行われます。問題は、Silverlight アプリですべてを実行できるわけではないことです。ハード ディスクからファイルを操作/保存できる Windows アプリとは異なり、Asp.Net アプリに似ています。問題は、データがサーバー上にあり、Silverlight アプリがクライアント上にあることです。そのため、開発者は (UI がフリーズしないように) 非同期コードを記述する必要があります。これは、Windows 開発者が慣れている同期イベント処理よりも複雑です。さらに、ユーザーの認証など、データを取得する必要があるたびに、サーバーに戻って確認します。したがって、Silverlight は「ブラウザー内の WPF」のように見えますが、実際には非常に異なるスタイルのプログラミングです。Web 開発者はこれに精通しているでしょう。

そのため、.Net RIA サービスは、Windows 開発の利便性を Silverlight にもたらすことを試みています。これは、clientserver 間で .net タイプを共有する機能を提供するなどのことを行うためのフレームワークを提供することで実現します。これにより、クライアントでステートフルな方法で動作し、残りの xml/json サービスを使用してデータをサーバーに転送できます。

ユーザー認証・認可・設定のサービスの一例を提供します。

Nikhil Kothari によるこの記事と、この (PDF)ウォークスルーを参照することをお勧めします。また、提供されているサンプルのいくつかを見て、それらを実行/変更してみてください。

于 2009-08-29T22:05:06.277 に答える
3

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

Microsoft .NET RIAサービスは、ASP.NETプラットフォームとSilverlightプラットフォームを統合することにより、従来のn層アプリケーションパターンを簡素化します。RIAサービスは、中間層で実行され、クエリ、変更、およびカスタム操作のためのデータへのアクセスを制御するアプリケーションロジックを作成するためのパターンを提供します。また、クライアントのSilverlightコンポーネントおよび中間層のASP.NETと統合することにより、データ検証、認証、役割などの一般的なタスクのエンドツーエンドのサポートを提供します。

つまり、現在の形式では、ASP.NetとSilverlightは独立して開発されており、相互に明示的に設計されていないため、ASP.NetアプリケーションとSilverlightアプリケーションを相互に機能させるには、かなりの量の配管コード。Microsoftは、このスタイルの混合Silverlight + ASP.Netバックエンドアプリケーション開発をサポートするプラットフォームとパターンを作成することにより、このタスクを簡素化しようとしています。

于 2009-08-29T17:47:04.280 に答える
1

最も簡単な答えは、RIA サービスには、自分で記述する必要のない多数のサービスと Entity Framework 配管コードが含まれているということです。その目的は、Silverlight 側のコードを、従来の ASP.NET または Windows/WPF アプリケーションと同じくらい簡単に記述および理解できるようにすることです。

于 2009-08-30T02:23:51.210 に答える