を使用して SMS を送信していHttpWebRequest
ます。ただし、メッセージが 2 回、3 回、またはそれ以上送信されて、すべてのプロセスが問題ないように見える場合があります。
私が思う唯一のことは、HttpWebRequest が非同期で動作していることです。
ここに私のコードがあります、
public bool sendSmsGateway(string tcDestino, string tcMensaje, string tcTitulo = "")
{
bool lReturn = false;
string contenido = HttpUtility.UrlEncode(tcMensaje);
string lcTitulo = "SMS Sender";
if (!String.IsNullOrEmpty(tcTitulo))
{
lcTitulo = tcTitulo;
}
lcTitulo = HttpUtility.UrlEncode(lcTitulo);
string fechaEnvio = DateTime.Now.ToString("s");
string url = string.Format(StrSMSGatewayURL, StrSMSGatewayUsuario, StrSMSGatewayPassword, tcDestino, contenido, lcTitulo, fechaEnvio);
HttpWebRequest enviar = (HttpWebRequest)WebRequest.Create(url);
string respuesta = new StreamReader(enviar.GetResponse().GetResponseStream()).ReadToEnd();
StrSMSGatewayRespuesta = respuesta.Trim();
if (StrSMSGatewayRespuesta == StrSMSGatewayRespuestaOk.Trim())
{
lReturn = true;
}
return lReturn;
}
このコードは、次の場合にメッセージを送信し、送信済みとしてマークするループ ルーチンで実行されます。
string respuesta = new StreamReader(enviar.GetResponse().GetResponseStream()).ReadToEnd();
適切なコードを返します。
(httpWebRequest send the message and get the response)
私の質問は..プロセスを停止する方法、または コードを強制的に待機させる方法があります。(timeout succeed)