按照網上的例子,做了一個初步的測試.配置如下:
建立檔案夾:fr
把flash remoting虛擬目錄下的gateway.aspx和web.config 複製到fr目錄下
在fr目錄下建立bin檔案夾
把flash remoting虛擬目錄下的bin裡面的flashgateway.dll和frconfig.txt 複製到fr\bin下面
在IIS中建立虛擬目錄...
建立test1.aspx的代碼如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="fuck.aspx.cs" Inherits="_Default" %>
<%@ Register TagPrefix ="Macromedia" Namespace = "FlashGateway" Assembly = "flashgateway" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>無標題頁</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<Macromedia:Flash ID="Flash" runat =server>
</Macromedia:Flash>
</body>
</html>
然後在test1.aspx.cs裡面的Page_load方法裡面加入 Flash.Result = "Flash remoting!";
然後建立test.swf,建立一個textinput,名字為msg_text,然後編寫AS代碼,如下:
import mx.remoting.Service;
import mx.rpc.FaultEvent;
import mx.remoting.PendingCall;
import mx.rpc.ResultEvent;
import mx.rpc.RelayResponder;
var myService:Service = new Service("http://localhost/fr/gateway.aspx",null,"fr",null,null);
var pc:PendingCall = myService.fuck();
pc.responder = new RelayResponder(this, "getdata_Result","getdata_Fault");
function getdata_Result(re:ResultEvent)
{
trace(re.result);
msg_text.text = re.result;
}
function getdata_Fault(fa:FaultEvent)
{
trace("error");
msg_text.text = fa.fault.faultstring;
}
然後IE中輸入http://localhost/fr/test.swf,顯示正確...
但是在IE中輸入http://IP地址/fr/test.swf卻無法顯示...
有人遇到過這問題嗎?