最近做一个winform窗口进行登录验证。验证方法是通过webservice来进行的。
布署在客户端的时候,只有三个客户端无法使用。
报错提示“远程主机强迫关闭了一个现有的连接”
附上代码:
Service s = new Service();
string strLogin;
s.Proxy = null;(这段代码后加的也不行)
s.Timeout = 10 * 1000;(这段代码后加的也不行)
strLogin = s.checkUser(CUser.username, CUser.userpwd);
webservice代码:
[WebMethod]
public string checkUser(string userName, string userPwd)
{
SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=testdb;User ID=sa;Password=;");
SqlCommand comm = new SqlCommand();
comm.Connection = conn;
string html = "";
try
{
conn.Open();
SqlDataAdapter sda = new SqlDataAdapter("select Locked from user where username='" + userName + "' and [PassWord]='" + GetMD5(userPwd, 16) + "'", conn);
DataSet ds = new DataSet();
sda.Fill(ds);
DataTable dt = ds.Tables[0];
if (dt.Rows.Count >= 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i][0].ToString() == "1")
{
html = "您的账号已被管理员锁定,请与管理员联系!";
}
else if (dt.Rows[i][0].ToString() == "2")
{
html = "您的账号还没有通过认证!";
}
else if (dt.Rows[i][0].ToString() == "3")
{
html = "您的账号还没有激活,请注意查收您的邮箱并进行激活!";
}
else
{
html = "true";
}
}
}
else
{
html = "你输入的用户名或密码有误,请重新输入!";
}
return html;
}
finally
{
comm.Dispose();
conn.Close();
}
}
自己开发的机子都没什么问题,没次修改一个都要到客户哪去调试,很不方便。。
麻烦看一下这是什么问题,一直找不到答案。。
winform引用的config文件中的WebService的地址 该对没有?
那个是正确的~~客户群中只有三个客户不能用。。
可以查看服务器日志是什么错误
直接在三个客户端用IE打开那个asmx页面看看能打开伐
能把你的webservice 地址贴出来吗?带端口了吗?
可能是远程连接库时出问题了,报这个错误
如果只有三台机器不能用,就和其他机器比较一下, 是不是 。net framework的版本问题?
比较软硬件环境,比较能用的和不能用的。
关注中?