短信发送一个简单的发送状态验证单独调试执行的时候也没有问题,但是正式测试报错

jin18838518487 2021-02-26 10:29:35


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Data;
using Oracle.ManagedDataAccess.Client;
using System.Text.RegularExpressions;

namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string ConnectionString = "这里是连接没有问题";//写连接串
OracleConnection conn = new OracleConnection(ConnectionString);//创建一个新连接
try
{

conn.Open();
OracleCommand cmd = new OracleCommand(" select a.phone_no AS NO,a.message as sms , a.mess_id as fsid ,a.item_no as itno from message_rec_temp a where a.send_flag ='0'and a.send_way ='平台1'", conn);

OracleDataAdapter sda = new OracleDataAdapter(cmd);
DataTable ds = new DataTable();

sda.Fill(ds);

Console.WriteLine(ds.Rows.Count);

for (int i = 0; i < ds.Rows.Count; i++)
{
Console.WriteLine(i);
Console.WriteLine(ds.Rows[i][0]);
Console.WriteLine(ds.Rows[i][1]);
string MobileNum = ds.Rows[i][0].ToString();
string content = ds.Rows[i][1].ToString();
string mseid = ds.Rows[i][2].ToString();
string itno = ds.Rows[i][3].ToString();
//Text.PostSendMessage(MobileNum, content);
// DateTime dt = DateTime.Now;
// string dt24 = dt.ToString("yyyy-MM-dd HH:mm:ss");

string reas = Text.PostSendMessage(MobileNum, content);
// string reas = "result=0&description=发送短信成功&taskid=10111820286222";
Console.WriteLine(reas);

string[] strArray = reas.Split(new string[] { "&", "&" }, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(strArray[1]);
bool isContains = true;
if (strArray[1].Contains("成功"))
{
isContains = true;
}
else
{
isContains = false;

}

//var index = StringA.IndexOf("result=0");

// bool isContains = reas.IndexOf("成功", StringComparison.OrdinalIgnoreCase) > 0;//true a.send_datetime =sysdate
if (isContains is true)
{
cmd.CommandText = "update message_rec_temp a set a.send_datetime = sysdate, a.send_flag ='1', a.memo= '" + reas + "' where a.phone_no ='" + MobileNum + "'and a.mess_id ='" + mseid + "'and a.ITEM_NO ='" + itno + "' and a.send_flag='0'";
cmd.ExecuteNonQuery();
Console.WriteLine("成功包含");

}
else
{
cmd.CommandText = " update message_rec_temp a set a.memo= '" + reas + "' where a.PHONE_NO ='" + MobileNum + "'and a.MESS_ID ='" + mseid + "' and a.send_flag='0'";
cmd.ExecuteNonQuery();
}


}
Console.ReadKey();





}
catch (Exception ee)
{
//System.Diagnostics.Debug.WriteLine(ee.Message); //如果有错误,输出错误信息
Console.WriteLine(ee.Message);
}
finally
{
conn.Close(); //关闭连接
}


}

class Text//发送这里也是正常的
{
public static string PostSendMessage(string MobileNum, string content)
{
string url = "http://js.ums86.com:8899/sms/Api/Send.do";
string Spcode = ""; //企业账号
string LoginName = ""; //用户名
string Password = ""; //密码
string MessageContent = content; //短信内容
string UserNumber = MobileNum; //手机号
string SerialNumber = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "001"; //流水号
string ScheduleTime = ""; //预约发送时间
string ExtendAccessNum = ""; //接入号扩展号
StringBuilder sb = new StringBuilder();
sb.Append("SpCode=" + Spcode + "&LoginName=" + LoginName + "&Password=" + Password + "&MessageContent=" + MessageContent + "&UserNumber=" + UserNumber + "&SerialNumber=" + SerialNumber + "&ScheduleTime=" + ScheduleTime + "&ExtendAccessNum=" + ExtendAccessNum + "&f=1");
byte[] bData = Encoding.GetEncoding("GBK").GetBytes(sb.ToString());
HttpWebRequest hwRequest;
HttpWebResponse hwResponse;
string strResult = string.Empty;
try
{
hwRequest = (HttpWebRequest)WebRequest.Create(url);
hwRequest.Method = "POST";
hwRequest.ContentType = "application/x-www-form-urlencoded";
hwRequest.ContentLength = bData.Length;
Stream smWrite = hwRequest.GetRequestStream();
smWrite.Write(bData, 0, bData.Length);
smWrite.Close();
hwResponse = (HttpWebResponse)hwRequest.GetResponse();
StreamReader srReader = new StreamReader(hwResponse.GetResponseStream(), Encoding.Default);
strResult = srReader.ReadToEnd();
srReader.Close();
hwResponse.Close();
}
catch
{; }
return strResult;

}

}

}
}
...全文
111 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jin18838518487 2021-03-02
  • 打赏
  • 举报
回复
引用 1 楼 顾染尘 的回复:
建议你每一个步骤处理完成后,写一条输出语句打印在控制台或者是黑窗体(黑窗体比较容易 写一句输出 加上一句system("pause"); 就可以了)然后看在哪一步骤实现完出现异常闪退
问题查出来了,写入返回的结果的时候数据库长度短了[face]monkey2:017.png[/face]
顾染尘 2021-03-01
  • 打赏
  • 举报
回复
建议你每一个步骤处理完成后,写一条输出语句打印在控制台或者是黑窗体(黑窗体比较容易 写一句输出 加上一句system("pause"); 就可以了)然后看在哪一步骤实现完出现异常闪退

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧