无法验证Web服务方法(单击按钮) [英] failed to authenticate web service method (button clicked)
本文介绍了无法验证Web服务方法(单击按钮)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个用于用户登录的程序.
服务已成功运行.
但是在运行(单击按钮)后显示错误消息.
解决方案是什么?
I have a program for user login.
Service has been running successfully.
But after the run (button clicked) displays the error message.
What is the solution?
Service ----> StatusUserData.cs
using System;
using System.Data;
namespace WMS.Handler
{
public class StatusUserData
{
public StatusUserData()
{
UserID = null;
Status = string.Empty;
Name = string.Empty;
Email = string.Empty;
Password = string.Empty;
Username = string.Empty;
}
public Nullable<int> UserID
{
get;
set;
}
public string Status
{
get;
set;
}
public string Name
{
get;
set;
}
public string Email
{
get;
set;
}
public string Password
{
get;
set;
}
public Nullable<int> RoleID
{
get;
set;
}
public string Username
{
get;
set;
}
}
}
Service ----> FilterStatusUser.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WMS.Handler
{
public class FilterStatusUser
{public FilterStatusUser()
{
FilterUserID = null;
FilterStatus = string.Empty;
FilterName = string.Empty;
FilterEmail = string.Empty;
FilterPassword = string.Empty;
FilterUsername = string.Empty;
}
public Nullable<int> FilterUserID
{
get;
set;
}
public string FilterStatus
{
get;
set;
}
public string FilterName
{
get;
set;
}
public string FilterEmail
{
get;
set;
}
public string FilterPassword
{
get;
set;
}
public Nullable<int> FilterRoleID
{
get;
set;
}
public string FilterUsername
{
get;
set;
}
}
}
Service ----> StatusUserHandler.cs
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Data.Linq;
namespace WMS.Handler
{
public class StatusUserHandler
{public static StatusUserData GetStatusUser(FilterStatusUser filter)
{
using (WMS.DAL.WarehouseLinqDataContext dc = new WMS.DAL.WarehouseLinqDataContext())
{
var data = from d in dc.StatusUsers
select d;
if (filter.FilterUserID != null)
{
data = from d in data
where d.userID == filter.FilterUserID
select d;
}
if (filter.FilterName != string.Empty && filter.FilterName != null)
{
data = from d in data
where d.name.ToLower().Contains(filter.FilterName.ToLower())
select d;
}
if (filter.FilterEmail != string.Empty && filter.FilterEmail != null)
{
data = from d in data
where d.email.ToLower().Contains(filter.FilterEmail.ToLower())
select d;
}
if (filter.FilterUsername != string.Empty && filter.FilterUsername != null)
{
data = from d in data
where d.username.ToLower().Contains(filter.FilterUsername.ToLower())
select d;
}
if (filter.FilterPassword != string.Empty && filter.FilterPassword != null)
{
data = from d in data
where d.password.ToLower().Contains(filter.FilterPassword.ToLower())
select d;
}
if (filter.FilterStatus != string.Empty && filter.FilterStatus != null)
{
data = from d in data
where d.status.ToLower().Contains(filter.FilterStatus.ToLower())
select d;
}
StatusUserData StatusUserData = new StatusUserData();
foreach (var d in data)
{
StatusUserData.UserID = d.userID;
StatusUserData.Name = d.name;
StatusUserData.Email = d.email;
StatusUserData.Username = d.username;
StatusUserData.Password = d.password;
StatusUserData.Status = d.status;
}
return StatusUserData;
}
}}}
Service ----> WMSDService.cs
using System;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Collections.Generic;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class WMSDService : System.Web.Services.WebService
{
private string isStatusUser;
private int? total = 0;
public WMSDService()
{}
#region StatusUser
[WebMethod]
public string checkStatusUser(string uname, string pass,string status)
{
WMS.Handler.FilterStatusUser tu = new WMS.Handler.FilterStatusUser();
tu.FilterUsername = uname;
tu.FilterPassword = pass;
tu.FilterStatus = status;
WMS.Handler.StatusUserData us = WMS.Handler.StatusUserHandler.GetStatusUser(tu);
if (us.Password == pass && us.Username == uname && us.Status==status)
{
isStatusUser = "yes";
return isStatusUser;
}
else
{
isStatusUser = "no";
return isStatusUser;
}
}}
#endregion
C# ----> Form1.cs
[CODE]using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Client.localhost;
namespace Client
{
public partial class Form1 : Form
{
Client.localhost.StatusUser gf = new Client.localhost.StatusUser();
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
String name = textBoxName.Text;
String email = textBoxEmail.Text;
String user = textBoxUname.Text;
String pass = textBoxPass.Text;
String status = comboBox2.SelectedItem.ToString();
WMSDService cf = new WMSDService();
cf.newStatusUser(name, email, user, pass, status);
}}}
推荐答案
我已经找到了解决方案
更新:
OP发布的答案:
I''ve been able to find a solution
UPDATE:
Answer posted by OP:
private void button1_Click(object sender, EventArgs e)
{
String user = this.textBox1.Text;
String pass = this.textBox2.Text;
String status = this.comboBox1.SelectedItem.ToString();
WMSDService cf = new WMSDService();
String hasil = cf.checkStatusUser(user, pass, status);
if (hasil== "C")
{
Consumer st = new Consumer();
st.Show();
this.Hide();
}
else if (hasil == "yes")
{
Forestry st = new Forestry();
st.Show();
this.Hide();
}
else if (hasil == "CO")
{
Corporation st = new Corporation();
st.Show();
this.Hide();
}
else if (hasil == "CU")
{
Customs st = new Customs();
st.Show();
this.Hide();
}
else {
MessageBox.Show("Login Failed");
}}
这篇关于无法验证Web服务方法(单击按钮)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文