站长论坛

标题: 如何让WebServer返回指定XML内容 [打印本页]

作者: superadmin    时间: 2007-10-5 20:06
标题: 如何让WebServer返回指定XML内容
通过创建WEBServer代理可以当作本地类使用,但能不能返回指定的XML呢?
比如通过checkpass服务检测帐号和密码之后要返回该用户拥有的权限列表。怎么实现呢?

研究中........

请各大侠指点

asp_net高级编程928页19.4.2 数据类型

  ASP.NET Web服务支持在公共语言运行时中支持的所有基本数据类型,包括String,integer,Long等等。除了简单的基本数据类型之外,还支持基本数据类型的数组。

  但是,更有趣的是支持用户定义的类和结构体。基本上,任何可由XSD模式代表的类型都是可以作为ASP.NET的参数或返回类型。

asp_net 高级编程946页 19.7.1控制并整理xml

  通过一个星期的摸索,解决了这个问题,并学习了如何读取和输出XML文档;数据库操作;WebServer的创建和引用。下面就部分源码供初学习者参考,不足之此请指正。
  1. /*CheckLogin服务*/

  2. using System;
  3. using System.Web;
  4. using System.Collections;
  5. using System.Web.Services;
  6. using System.Web.Services.Protocols;
  7. using System.Configuration;
  8. using System.Data;
  9. using System.Data.SqlClient;
  10. using mysql.SQL;
  11. using myfunc.Common;


  12. ///
  13. /// CheckLogin 的摘要说明
  14. ///
  15. [WebService(Namespace = "http://localhost/")]
  16. [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  17. public class CheckLogin : System.Web.Services.WebService {

  18.     public CheckLogin () {

  19.         //如果使用设计的组件,请取消注释以下行
  20.         //InitializeComponent();
  21.     }

  22.     //[WebMethod(Description = "Login", EnableSession = true)]
  23.     [WebMethod]
  24.     public checkuser Login(string sUserCode, string sPassword)
  25.     {
  26.         checkuser objcheckuser= new checkuser();
  27.         string sCheckLogin = ConfigurationManager.AppSettings["strCheckLogin"];
  28.         SqlShell objShell = new SqlShell();
  29.         SqlCommand objCommand = new SqlCommand(sCheckLogin);
  30.         objCommand.CommandType = CommandType.Text;
  31.         objCommand.Parameters.AddWithValue("@sUserCode", sUserCode);
  32.         objCommand.Parameters.AddWithValue("@sPassword", sPassword);
  33.         DataTable objDataTable = objShell.executeDataSet(ref objCommand).Tables[0];
  34.         objcheckuser.logined = (objDataTable.Rows.Count > 0);
  35.         if (objcheckuser.logined)
  36.         {
  37.             //帐号和密码正确,反回帐号信息
  38.             DataRow objDataRow = objDataTable.Rows[0];
  39.             objcheckuser.userid = objDataRow["UserID"].ToString().Trim(); ;
  40.             objcheckuser.pass = objDataRow["Pass"].ToString().Trim();
  41.             objcheckuser.username = objDataRow["UserName"].ToString().Trim();

  42.             //检查Allow字段是否为空
  43.             if (objDataRow.IsNull("Allow")) { objcheckuser.allow = ""; }
  44.             else { objcheckuser.allow = objDataRow["Allow"].ToString().Trim(); }

  45.             menulist objmenulist = new menulist(objDataRow["UserID"].ToString().Trim());
  46.             objcheckuser.menuxml = objmenulist.buf;//返回菜单列表的XML字符串
  47.                   

  48.         }
  49.         return objcheckuser;

  50.     }

  51.     public class checkuser
  52.     {
  53.         public bool logined;
  54.         public string userid;
  55.         public string pass;
  56.         public string username;
  57.         public string allow;
  58.         public string menuxml;//返回菜单列表的XML字符串

  59.     }

  60. }

  61. /*CheckLogin服务结束*/
复制代码





欢迎光临 站长论坛 (http://www.tzlink.com/bbs/) Powered by Discuz! X3.2