redirection avec handler.ashx
Bonjour messieur,
voici se que je tente de faire. sur une page .ashx je recois des requetes , je prend les parametres fournis et fais la requete http sur une seconde page,situé sur un autre serveur. Après cela je veux retourner le résultat de la requete au demandeur. Cela fonctionne pour des images, par contre pour du xml j'ai une erreur de "seek opération" je vous met le code utiliser, quelqu'un pourrais m'indiquer se que je fais de pas correcte. Merci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
public void ProcessRequest(HttpContext context)
{
HttpContext c = HttpContext.Current;
Stream dataStream = null;
string param = context.Request.RawUrl.Split('?')[1];
Uri myUri = new Uri("http://192.168.10.20/carte?" + param);
WebRequest myWebRequest = WebRequest.Create(myUri);
myWebRequest.Timeout = 5000;//_TimeOut;
myWebRequest.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse myWebResponse = (HttpWebResponse)myWebRequest.GetResponse();
if (myWebResponse != null)
{
WebResponse res = myWebRequest.GetResponse();
Stream resStream = res.GetResponseStream();
MemoryStream ms = new MemoryStream();
byte[] buffer = new byte[2048];
int bytesRead = 0;
do
{
bytesRead = resStream.Read(buffer, 0, buffer.Length);
ms.Write(buffer, 0, bytesRead);
}
while (bytesRead != 0);
resStream.Close();
res.Close();
byte[] data = ms.ToArray();
ms.Close();
c.Response.ContentType = res.Headers["content-type"];
c.Response.OutputStream.Write(data, 0, data.Length);
c.Response.OutputStream.Close();
}
} |