asp.net c#代码(来自VS2022,在IIS10上)在本地计算机上可以连接到SQL Server数据库,但在Web服务器上不起作用

epggiuax  于 2022-12-15  发布在  .NET
关注(0)|答案(1)|浏览(66)

我不明白为什么我的(非常简单的)代码在我的本地机器上从Visual Studio 2022和本地IIS 10上连接到sql server express(15)可以正常工作,而在我的web服务器上却不行。我相信这对你来说是一个非常简单的问题。
我尝试做的是一个简单的登录页面。Login.aspx中的代码是:

using System.Data;
using System.Data.SqlClient;

try
            {
                SqlConnection con = new SqlConnection(@"Data Source=BERLIN\SQLEXPRESS;Initial Catalog=membersarea; User ID=sa;Password=Test2022!");
                SqlCommand sqlCmd = new SqlCommand("select * from useraccount where username=@userName and passWord=@Password", con);
                sqlCmd.Parameters.AddWithValue("@userName", tbxUsername.Text.ToString());
                sqlCmd.Parameters.AddWithValue("@passWord", tbxPassword.Text.ToString());
                SqlDataAdapter sqlAdapter = new SqlDataAdapter(sqlCmd);
                DataTable datatable = new DataTable();
                sqlAdapter.Fill(datatable);
                con.Open();
                int i = sqlCmd.ExecuteNonQuery();
                con.Close();
                if (datatable.Rows.Count > 0)
                {
                    Session["userName"] = tbxUsername.Text.ToString();
                    datatable.Dispose();

                    Response.Redirect("Content.aspx");
                }
                else
                {
                    lblMessage.Text = "Benutzername oder Passwort falsch.";
                    lblMessage.ForeColor = System.Drawing.Color.DarkOrange;
                    lblMessage.Visible = true;

                }
            }
            catch(Exception ex)
            {

            }

(我知道我不应该使用sa帐户来执行此操作,只是为了保持简单...我在Web服务器上做的唯一事情就是更改sql server示例的名称。Management Studio在我的Web服务器上使用此用户ID和密码工作正常。我使用Plesk安装了sql server,但我认为它在plesk中无法正常工作。使用Management Studio我可以恢复备份,查询、创建新帐户等)

我的内容.asps说嗨(包括我的名字),并显示注销按钮。如果你输入的凭据不正确,它会这样说,如果你试图去的内容页没有登录,你会被重定向到登录页。这就是我想要的。问题是,它不工作在我的网络服务器上。它只是什么都不做。没有错误消息,或其他东西。它需要一段时间,密码再次被清除,用户名仍然存在。(使用哪种凭据无关紧要。)
我不认为它出现在我代码的第一行,我不知道为什么。是否需要DLL,或者我忘记了什么?我非常肯定这绝对是初学者的问题,但我无法理解。
尝试填充一些代码来更改lblMessage,以找出问题从何处开始,但没有显示任何内容。

x6h2sr28

x6h2sr281#

我想问题是从我创建项目时检查模式web表单开始的。在bin文件夹中有一个“name-of-my-project”.dll和一个“name-of-my-project”.pdb文件。这两个文件是在你重新创建项目时生成的。我很确定你们知道--我没有。或者更好的是我知道它们是生成的,但它们不是必要的。(正如我之前所写的,我正处在故事的开头。)
我猜连接字符串也存储在这个 *.pdb和/或 *.dll中。当我用有效的连接字符串为Web服务器重新创建我的项目并上传它们时-一切都按预期工作。谢谢你们的想法。

相关问题