Timeout beim Create GetRequestStream

03/04/2009 - 15:15 von rolfb | Report spam
Ich möchte aus einer Forms Applikation HTTP Kommunikation betreiben.
Für einen Test habe ich folgenden Code:

using System;
using System.Collections;
using System.Collections.Specialized;
using System.IO;
using System.Net;
using System.Text;
using System.Data;
using System.Configuration;
using System.Threading;
using System.ComponentModel;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
string pendpointurl, httpStr;

InitializeComponent();

httpStr = string.Format("POST/api_http.cgi?ServiceID={0}&Key={1}",
"ABC", "123");
pendpointurl = "http://api.e-cromo.de/api/send/standard";

HttpCall(pendpointurl, pendpointurl, true);

}

/// <summary>
/// HttpCall: The main method that is used for all API calls
/// </summary>
/// <param name="NvpRequest"></param>
/// <returns></returns>
public string HttpCall(string pendpointurl, string Request, bool
encode) //CallServer
{
string result = "";
string url = pendpointurl;
string strPost = Request;

if (encode)
strPost = Uri.EscapeDataString(Request);

HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);
objRequest.Timeout = 2000;
objRequest.Method = "POST";
objRequest.ContentLength = strPost.Length;
objRequest.ContentType = "application/x-www-form-urlencoded";
objRequest.CookieContainer = new CookieContainer();


try
{
using (StreamWriter myWriter = new
StreamWriter(objRequest.GetRequestStream()))
{
myWriter.Write(strPost);
}
}
catch (Exception e)
{
result = "Error:" + e.Message;
return result;
}

//Retrieve the Response returned from the call
HttpWebResponse objResponse =
(HttpWebResponse)objRequest.GetResponse();
using (StreamReader sr = new
StreamReader(objResponse.GetResponseStream()))
{
result = sr.ReadToEnd();
}
return result;
}

}
}
Bei StreamWriter myWriter = new StreamWriter(objRequest.GetRequestStream())
erhalte ich Timeout als Rückmeldung. Kommukation aus einer Web-Anwendung auf
die Adresse mit dem Code funktioniert.

Kann mir jemand helfen was falsch ist?

Vielen Dank im voraus
Rolf
 

Lesen sie die antworten

#1 Frank Dzaebel
03/04/2009 - 16:20 | Warnen spam
Hallo Rolf,

Bei StreamWriter myWriter = new
StreamWriter(objRequest.GetRequestStream()) erhalte ich Timeout als
Rückmeldung. Kommukation aus einer Web-Anwendung auf die Adresse mit
dem Code funktioniert.



Sollte im Prinzip gehen. Vielleicht fehlen die Zugangsdaten,
schau evtl. mal in "result". Ggf. mal in die Credentials
des objRequest entsprechend setzen.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen