以前にこれを試したように、ASP.net MVCの制御アクションでシリアル化されたAMFオブジェクトを返すことが可能かどうか疑問に思っていますか?
前もって感謝します。
以前にこれを試したように、ASP.net MVCの制御アクションでシリアル化されたAMFオブジェクトを返すことが可能かどうか疑問に思っていますか?
前もって感謝します。
私はMVCの経験がほとんどないか、まったくありませんが、AMFデータをFlashクライアントに書き込むことでいくつかのテストを行いました。私がしたことは、FluorineFXでByteArrayクラスを使用するジェネリックハンドラーを構築することでした。オブジェクトインスタンスを作成し、WriteObject()を使用してByteArrayに書き込みました。次に、ByteArrayのデータを応答ストリームに書き込みました。次に、Flashで、標準のURLLoaderを使用し、(URLLoader.data as ByteArray)のReadObject()を使用して、オブジェクトを逆シリアル化し、準備を整えました。(もちろん、最初にすべてのRemoteClassとregisterClassAliasを実行する必要がありました)
私の推測では、MVCアクションを使用すると、応答ストリームにもアクセスできるため、設定する必要があります。
AMF オブジェクトが何かわかりません (はい、Google で検索できますが、できません)。ただし、ASP.MVC では任意のオブジェクトをシリアル化できます。たとえば、JSON オブジェクトを返すことは、組み込みのシリアル化を使用する例です。
public ActionResult MyAction()
{
...
// Populate myObject
return new JsonResult{ Data = myObject };
}
ここでの秘訣は、これらの AMF オブジェクトの 1 つに含まれるすべてのオブジェクトをシリアル化できるようにする必要があるということです。そうでない場合は、シリアル化された匿名オブジェクトを返すことができることを忘れないでください。
例えば。
public ActionResult MyAction()
{
...
// Populate myObject
return new JsonResult
{
Data = new
{
Id = object.Id,
Name = object.FirstName + ' ' object.Surname,
.... etc ....
}
};
}
h番目。
既存のクラスでは必要な形式を発行できない場合は、独自の ActionResult クラスを作成することもできます。
このサイトには、カスタム ActionResults の作成に関する情報があります: http://blogs.msdn.com/jowardel/archive/2009/03/11/asp-net-rss-actionresult.aspx