request.BeginGetResponse(new AsyncCallback(ReadCallback), request) 回调更新数据库问题

jrl5365 jrl5365 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
//设置https验证方式
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);//验证服务器证书回调自动验证
}
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(url));
request.ConnectionGroupName = uid + "," + utype;
request.BeginGetResponse(new AsyncCallback(ReadCallback), request);


private static void ReadCallback(IAsyncResult ar)
{
HttpWebRequest request = (HttpWebRequest)ar.AsyncState;
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(ar);

using (Stream responseStream = response.GetResponseStream())
{
StreamReader readStream = new StreamReader(responseStream, Encoding.UTF8);

string unionid = readStream.ReadToEnd();


if (!string.IsNullOrEmpty(unionid))
{
string[] arr = request.ConnectionGroupName.Split(',');

string uid = arr[0].ToString();
string utype = arr[1].ToString();

if (!string.IsNullOrEmpty(uid))
{
//更新数据库
if (utype == "1")
{
string filename = @"D:\www\2013_Tzrl\Tzrl_Wan\log.txt";
StreamWriter sr = null;
try
{
if (!File.Exists(filename))
{
sr = File.CreateText(filename);
}
else
{
sr = File.AppendText(filename);
}
sr.WriteLine("," + uid + "," + utype + "," + unionid);
}
catch
{
}
finally
{
if (sr != null)
sr.Close();
}
//此处写入文件中的信息是正常回调过来的我要的信息,但是等操作数据库更新的时候就无反应
//数据库操作是没有错的!我测试过的。。。。。

}
else
{

}
}
}
request.Abort();
response.Close();
readStream.Close();
}
}




哪位高手有遇到过类似的问题么?网上看到的也都是打印出来的,没有看到类似操作数据库更新的
...全文

相关推荐

评论 10
收藏 已收藏
分享
返回顶部
jrl5365
C# 111,129 成员 642,540 内容