在进行网络应用程序开发时,经常需要从服务器应用程序获取数据。本文将介绍如何使用.NET的序列化类从数据库中获取数据,并在Flash中使用这些数据。
尽管有多种方式可以从服务器应用程序获取数据,但发现在使用.NET时,使用序列化类是一种非常简单的方法。
将使用一个Web服务、一个序列化类以及Flash中的一个函数来获取用户信息。以下是Web服务中的登录方法:
public oUsers loginUser(string sUsername, string sPassword)
{
oUsers objUsers = new oUsers();
try
{
if (sUsername.Equals("admin") && sPassword.Equals("admin"))
{
objUsers.sEmail = "admin@administrator.com";
objUsers.sName = "Adam";
objUsers.sPassword = "admin";
objUsers.sUsername = "admin";
}
else
{
throw new ApplicationException("Wrong user!");
}
}
catch
{
throw new ApplicationException("Error");
}
return objUsers;
}
以下是序列化类:
[Serializable]
public class oUsers
{
public string sName;
public string sEmail;
public string sUsername;
public string sPassword;
public oUsers() { }
}
以下是Flash脚本的根部分:
stop();
import mx.services.*;
_global.webServicen = new WebService("http://localhost/WebServiceAndFlash/login.asmx?WSDL");
mcLogin.txtUsername.text = "admin";
mcLogin.txtPassword.text = "admin";
mcLogin.txtName.text = "";
mcLogin.txtEmail.text = "";
mcLogin.txtUser.text = "";
mcLogin.txtPass.text = "";
on(release){
var objServicen = _global.webServicen.loginUser(_root.mcLogin.txtUsername, _root.mcLogin.txtPassword);
objServicen.onResult = function(result) {
trace("login");
var oUser = new objServicen.oUsers();
oUser = result;
_root.mcLogin.txtName = "SDF" + oUser.sName;
_root.mcLogin.txtEmail = oUser.sEmail;
_root.mcLogin.txtUser = oUser.sUsername;
_root.mcLogin.txtPass = oUser.sPassword;
}
objServicen.onFault = function(fault) {
_root.mcAlert._x = "-0.3";
_root.mcAlert._y = "-0.7";
}
}