做一个“用户登录”的界面,自然用到了数据库操作,而Flex不能自己访问数据库,因而采用借助Web Service来访问的方法,具体流程如下:
1、用VS2008中asp.net发布一个WebService服务
2、在web.config中添加链接sql的字符串
<connectionStrings>
??? <!--集成身份验证(090828)-->
??<!--<add name="connUsrinf" connectionString="Data Source=localhost;Initial Catalog=QLnormal;Integrated Security=SSPI"/>-->
??? <!--sql server身份验证,带用户名 密码(090828)-->
??? <add name="connUsrinf" connectionString="Data Source=localhost;Initial Catalog=QLnormal;uid=sa;pwd=123456"/>
?</connectionStrings>
3、编写相应的方法。
4、发布该WebService。
1>先打开C#,新建->网站->(选中)ASP.net Web服务->确定,OK,现在以新建了一个webService,里面会自动有一些代码,就它的"Hello World"吧,简单的测试就行了。
2>F5测试,会打开一个网页,显示是OK的。然后点生成->发布网站->设置好路径->确定,OK,现在在你设置的路径下会有一个asmx,DLL文件。
3>打开IIS(我的是在计算机管理->Internet信息服务->网站->默认网站->新建->虚拟网站->取网站名wService,并把你发布网站的路径设置进去...然后下一步下一步,网站建立OK)然后浏览刚建网站的webService,浏览Service.asmx.会在网页上打开.
5、Flex调用WebService的格式。
<mx:WebService id="wbsrv"
??? ?wsdl="http://localhost/dbserv/Service.asmx?wsdl" useProxy="false"? fault="onFaultHandler(event)">
??? ?<mx:operation name="Conn" result="onResultHandler(event)">
???? ?<mx:request>
???? ??<_usr>{username.text}</_usr>
???? ??<_pw>{password.text}</_pw>
???? ?</mx:request>?????
?</mx:WebService>
ID——名称自定义。wsdl——发布的服务地址后面加“?wsdl”。
operation-名称:asp.net中定义的方法名同名。
request-参数:名称与asp.net中同名。
6、Flex中的脚本中调用5的内容
<WebService名>.<operation名>.send()