ما هي أبسط طريقة لاستدعاء ملف HttpHandler في .NET؟

I have an HttpHandler on my webserver that takes a URL in the form of "https://servername/myhandler?op=get&k=Internal&m=jdahug1". I need to call this URL from my .NET app and capture whatever the output is. Does anyone know how I can do that? I want it to be simple so that I just get back a string with the output, and that I can specify my own timeout.

  • وشكرا! </لى>
2

4 إجابة

جرب فئة System.Net.WebClient.

يمكنك استخدام الأسلوب .DownloadStringAsync() لفرض المهلة.

6
وأضاف
لا تملك هذه الفئة القدرة على ضبط المهلة كما أردت (بقدر ما أستطيع رؤيته) لكنني أوافق على أنه أبسط طريقة لإجراء المكالمة.
وأضاف المؤلف skb, مصدر

يقدم Shawn Wildermuth نظرة عامة رائعة على الخيارين اللذين لديكما: WebClient و WebRequest ( http://wildermuth كوم/2008/09/27/WebClient_vs_WebRequest_in_Silverlight_2 ). WebClient هو مجرد تجريد على مستوى أعلى يتعامل مع المزيد من التفاصيل نيابة عنك. نظرًا لأنك تتطلع فقط إلى الحصول على سلسلة من الإصدارات السابقة ، فإنني سأتطلع إلى استخدام WebClient ، الذي يصفه Shawn ، باستخدام أسلوب DownloadString في انتظارك لاستخدامه.

3
وأضاف

كما قال جويل أن WebClient سيفعل الخدعة ..

string handlerResponse = new System.Net.WebClient().DownloadString("https://servername/myhandler?op=get&k=Internal&m=jdahug1");

وبالطبع في ضوء مهنتك وممارساتك الجيدة ، ربما لا ترغب في تضمينها في المكالمة ، ولكنك تحصل على الفكرة.

2
وأضاف

لقد استخدمنا ما يلي في الخلفية لمنتجنا (هذا هو مجرد رمز الأساسية ، وليس مع الخطأ المهلة الخ.)

using System.Net;

using System.IO;

HttpWebRequest req = (HttpWebRequest) WebRequest.Create(WebPageUrl);

WebResponse resp = req.GetResponse();

Stream stream = resp.GetResponseStream();

StreamReader reader = new StreamReader(stream);

output.Write(reader.ReadToEnd());
1
وأضاف