使用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文件,然后在你的項目里面添加這個現有文件就可以了。