.NET में HttpHandler फ़ाइल को कॉल करने का सबसे आसान तरीका क्या है?

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 क्लास आज़माएं।

आप टाइमआउट को लागू करने के लिए .ownloadStringAsync() विधि का उपयोग कर सकते हैं।

6
जोड़ा
इस कक्षा में एक टाइमआउट सेट करने की क्षमता नहीं है जैसा कि मैं चाहता था (जहां तक ​​मैं देख सकता हूं) लेकिन मैं मानता हूं कि यह कॉल करने का सबसे आसान तरीका है।
जोड़ा लेखक skb, स्रोत

शॉन वाइल्डर्मथ आपके पास दो विकल्पों का एक शानदार अवलोकन देता है: वेब क्लाइंट और वेबरक्वेट ( http://wildermuth .com/2008/09/27/WebClient_vs_WebRequest_in_Silverlight_2 )। वेब क्लाइंट सिर्फ एक उच्च स्तरीय अमूर्त है जो आपके लिए अधिक विवरण संभालता है। चूंकि आप केवल एक स्ट्रिंग बैक प्राप्त करने के लिए देख रहे हैं, इसलिए मैं वेब क्लाइंट का उपयोग करना चाहता हूं, जैसा कि शॉन वर्णन करता है, आपके पास उपयोग करने के लिए बस एक डाउनलोडस्ट्रिंग विधि है।

3
जोड़ा

जैसा कि जोएल ने कहा था कि वेब क्लाइंट चाल करेगा ..

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
जोड़ा