Calling ASP.NET pages from Flash
147
Your Flash Remoting-enabled ASP.NET application directory is now ready to use.
Calling ASP.NET pages from Flash
This section describes calling an ASPX page from Flash using Flash Remoting, working with the
Flash Remoting custom server control in ASPX pages, using the Flash Remoting namespace in
code-behind files, and so on. For more information on specific topics, see the following sections:
•
“Invoking ASPX pages in ActionScript” on page 148
•
“Using the Flash Remoting custom server control in ASPX pages” on page 149
•
“Using the Flash Remoting namespace in code-behind files” on page 150
•
“Using ASP.NET state management with Flash Remoting” on page 151
•
“Using ASP.NET exception handling” on page 152
Making an ASP.NET page available to Flash Remoting
To call an ASP.NET (*.aspx) page from Flash Remoting, you must place the ASPX page in the
directory or subdirectories of a Flash Remoting-enabled .NET application in the
web root
folder.
For example if the page was called GetResources.aspx and the
web root
folder for your installation
was C:\Inetpub\wwwroot, you would find the GetResources page in the following location:
C:\Inetpub\wwwroot\flashremoting\samples\GetResources.aspx
Getting a reference to an ASPX-based service in ActionScript
Before calling an ASPX-based service from ActionScript in a Flash application, you must get a
reference to the page.
To get a reference to the ASPX page:
1.
Import the ActionScript classes:
import mx.remoting.Service;
import mx.remoting.PendingCall;
import mx.rpc.RelayResponder;
import mx.rpc.ResultEvent;
import mx.rpc.FaultEvent;
2.
Specify the Flash Remoting gateway URL (first parameter in Service constructor,
http://
localhost/flashremoting/gateway.aspx
) and create a reference (
aspxService
)to the
ASPX page (third parameter,
flashremoting.samples
) as a remote service:
var aspxService:Service = new Service( "http://localhost/flashremoting/
gateway.aspx", null, "flashremoting.samples", null, null );
var pc:PendingCall = aspxService.GetResources();
pc.responder = new RelayResponder( this, "gotResources", "gotResourcesFault"
);
function gotResources( re:mx.rpc.ResultEvent ):Void {
trace( "got resources-"+ re.result );
}