20.16. Receiving Typed Objects with ASP.NET

Problem

You want to be able to handle typed object parameters sent to a .NET back end (an ASPX page, DLL method, or web service method).

Solution

Create a .NET class with the same name as the name to which the ActionScript class is registered. The .NET Flash Remoting gateway automatically converts the ActionScript typed object to an object of the corresponding .NET type.

Discussion

When you pass a typed object to a .NET back end from a Flash movie, the .NET Flash Remoting gateway looks for a .NET class with the same name as the registered class name of the ActionScript object and tries to convert the ActionScript object to that .NET type. Therefore, you need to create a .NET type to correspond to each of the registered ActionScript classes.

For example, in the Flash movie, define the following ActionScript class and register it using the name “MyClass”:

function MyClass(a, b) {
  this.a = a;
  this.b = b;
}
MyClass.prototype.a;
MyClass.prototype.b;

Object.registerClass("MyClass", MyClass);

Then create a .NET class with the same name and the same properties. The .NET class should have a constructor that requires no parameters.

public class MyClass {
  
  public string a;
  public string b;

  public MyClass(  ){}
}

Then, so long as the .NET MyClass is accessible to the .NET service function (be it a DLL method, an ASPX page, or a web service method), the service function can accept a parameter of type MyClass. Here is an example of a DLL method that accepts a ...

Get Actionscript Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.