我目前正在为一个学校项目开发一个交友网站,而且我目前正在尝试为其创建登录功能。我们不应该使用自动注册和登录功能。在asp.net web应用程序上使用WCF服务应用程序登录
我们与数据库的任何联系都应该通过WCF服务应用程序。我知道如何在不使用WCF的情况下实现它,但我现在需要使用它,搜索后我无法在Google上找到它。
public bool login(string UserName, string PassWord, bool isActive = true) {
try {
DALDataContext db = new DALDataContext();
var qry = from m in db.tblUsers
where m.userName == UserName && m.password == PassWord && m.isActive == isActive
select m;
if (qry.Count() > 0) {
return true;
} else {
return false;
}
}
catch (Exception) {
return false;
}
}
这就是我成功了,所以如果我在我的web应用程序 实现像这样这应该工作:
ServiceReference1.Service1Client obj = new ServiceReference1.Service1Client();
protected void btnLoginUser_Click1(object sender, EventArgs e) {
try {
string UserName = txtUserName.Text;
string PassWord = txtPassWord.Text;
obj.login(UserName, PassWord);
if (true) {
Session["me"] = UserName;
Response.Redirect("~/MyProfile.aspx");
}
}
catch (Exception){
}
}
我一直与这个几个小时,登记簿一部分这有效...所以我做了一些非常错误的事情。我正在使用Visual Studio 2010和SQL Server 2008 R2。
[解决]
这是我如何解决它
protected void btnLoginUser_Click1(object sender, EventArgs e)
{
try
{
string UserName = txtUserName.Text;
string PassWord = txtPassWord.Text;
bool isActive = true;
if (obj.login(UserName, PassWord, isActive))
{
Session["me"] = UserName;
Response.Redirect("~/MyProfile.aspx");
}
else
{
lblErr.Text = "fail";
}
}
catch (Exception)
{
}
}
}
}
我只是用一些代码在VS中打转转,一直在如果几个小时,它始终登录 – Ra91
仍然需要检查它是否真实,我现在这样做'if(obj.login(UserName,PassWord)) { Session [“me”] =用户名; Response.Redirect(“〜/ MyProfile.aspx”); } else { lblErr.Text =“fail”; } }' – Ra91
这就是'if(表达式)'所做的。 “表达式”必须评估为真才能进入该块。 'obj.login(UserName,Password)'将是true或false,所以当'obj.login'返回true时,你只能输入'if'块。就像你现在所做的那样,'if(true)'将永远进入if块。 – Bort