2012-03-21 3 views
0

こんにちは私はWindows AzureのTCP/IPで作業していて、送信するTCPクライアントとTCPデータを受信するWebロールを開発できました。.aspxページからWebRoleデータにアクセスするには?

受信したデータを.aspxページに表示したいとします。 .aspxページからwebroleデータにどのようにアクセスすればよいですか?

更新:

私はMVCアーキテクチャを検討し、フローを理解しました。

私の質問は、Webrole.cs/WorkerRole.csファイルからControllerにデータをフェッチする方法です。 TCPデータを受信するために次のコードを使用しています。msdn.microsoft.com/en-us/hh285885

答えて

0

どちらの場合でも(Webまたはワーカーの役割)、1つの一般的な解決方法があります。転送したい。ワーカーロールについては、ワーカーロール自体がウェブロールとは異なる役割を果たしているため、それらの間の直接通信はありません。ウェブの役割については、ほとんど同じ状況です。 Your WebRole.cs is instantiated in different process (WaIISHost.exe) than your web application (w3wp.exe)

したがって、一般的なソリューション - データ用の中間ストアを使用します。方法については、communicate between different roles(およびhereおよびhere)のさまざまなアプローチがあります。特定の要件に応じて、Azure Table Storage Serivceを使用してTCPからデータを格納し、コントローラからテーブルを読み取る方が簡単です。 Azure Storage Queuesを使用するだけで済みます。

最終的には、お客様の具体的かつ具体的な要件によって異なります。お客様のニーズに最適なソリューションを選択することができます。

UPDATE

こんにちは、一部のデータ読み出しが ラン()関数の中で私のappicationためWebroleで行われます。

まあ、your run function has no direct communication point of contact with you rcontroller。だから、コントローラのデータだけが必要な場合は、そこに何を読んでいるのか分かりません。

私はあなたの主なアプリケーションアーキテクチャを修正しなければならないと思います。コントローラのメソッド(別名Action)は、クライアントブラウザからアプリケーションに有効なHTTPリクエストが行われたときにのみ実行されます。データが要求される前にデータを読んでも何の理由もありません。特に急速に変化するデータ。ブラウザからのリクエスト(AJAXリクエストの可能性もあります)を待ってからデータを読み込みます。あなたは、ローカルアプリケーションキャッシュに読み込まれたデータを格納し、まだ読み込まれていないものだけを読むことができるように、良いパーティション/行キー戦略を持つことができます。または、データを読み込んだ後にテーブルから削除するだけですか?全体のアプリケーション要件、セマンティクス、およびアークテクチャをあなたに知らないでください。あなたの他の質問については

:私はASP.net MVC、 のコントローラにデータ読み出しparttを実装する場合

webroleは何をやっているのだろうか?

「Webrole.cs」は、Windows AzureファブリックコントローラがWebアプリケーションを実行して実行中であることを認識できるように、そこにあります。あなたはそれを完全に空白にすることができます(非実装)! RoleEntryPointクラス自体にはRun()メソッドのデフォルトの実装があります。これは無限の睡眠で誰にも害はありません。

+0

私は、Web、Eorkerの役割とMVCアーキテクチャのフローとの間の通信方法を理解しました。今私の質問は、workerrole.csを使用してテーブルからデータをクエリした後、MVCのコントローラがこのデータをビューに表示する方法を教えてください。ありがとう。 –

+0

workerrole.cs(またはwebrole.cs)は**テーブルストレージに**書き込みます**。コントローラーは表を**読み**ます。 – astaykov

+0

こんにちは、データ読み取り部分はRun()関数で自分のappicationのためにWebroleで行われます。 ASP.net MVCのコントローラにデータ読み込みを実装すると、Webロールは何をしていますか?私の2番目の質問は、私は10秒ごとに最新のデータを取得するためにテーブルを照会する必要があります。どのようにコントローラからこれを行うには?ありがとう。 –

関連する問題