使用webservice解决多系统登陆问题
2024-07-21 02:21:42
供稿:网友
 
首先新建一个空项目project1
添加一个webform1
写如下代码
private void page_load(object sender, system.eventargs e)
 {
 if(session["userid"] != null)
 {
 this.response.write(session["username"].tostring());
 }
 else
 {
 this.response.write("你输入的用户名或密码不正确!");
 }
 }
在项目名称上点又键,填加一个新webservie login.asmx
代码文件如下
using system;
using system.collections;
using system.componentmodel;
using system.data;
using system.diagnostics;
using system.web;
using system.web.services;
namespace workflow
{
 /// <summary>
 /// login 的摘要说明。
 /// </summary>
 public class login : system.web.services.webservice
 {
 workflowwebui.portallogin.frameworkservice loginservice = new workflowwebui.portallogin.frameworkservice();
 public login()
 {
 //codegen:该调用是 asp.net web 服务设计器所必需的
 initializecomponent();
 }
 #region component designer generated code
 
 //web 服务设计器所必需的
 private icontainer components = null;
 
 /// <summary>
 /// 设计器支持所需的方法 - 不要使用代码编辑器修改
 /// 此方法的内容。
 /// </summary>
 private void initializecomponent()
 {
 }
 /// <summary>
 /// 清理所有正在使用的资源。
 /// </summary>
 protected override void dispose( bool disposing )
 {
 if(disposing && components != null)
 {
 components.dispose();
 }
 base.dispose(disposing); 
 } 
 #endregion
 [webmethod(enablesession=true)]
 public bool loginmethod(string username,string password)
 {
 if(username == "admin" & password== "admin")
 {
 session["username"] = "admin"
 return true; 
 }
 return false;
 }
}}
再建一个新web项目,webproject1
添加login的web引用,并在webform1中调用loginmethod,如果返回值为true重定向到project1的webform1.aspx
这里需要注意两点
一:在webservice的特性里面需要加入(enablesession=true)的描述
二:如果你是现在已经有的web项目将不允许你向其中添加新的webservice,这时候你要先在其它位置建立一个webservie文件,然后在你的项目里面添加这个现有文件就可以了。