使用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文件,然后在你的项目里面添加这个现有文件就可以了。