.net WebClient বনাম HttpWebRequest/HttpWebResponse



(7)

এটা আমার মনে হয় যে বেশিরভাগটি HttpWebRequest/Response সাথে সম্পন্ন করা যেতে পারে WebClient ক্লাসের WebClient সম্পন্ন করা যেতে পারে। আমি কোথাও পড়ি যে WebClient WebRequest/Response জন্য একটি উচ্চ স্তরের wrapper।
এ পর্যন্ত, আমি এমন কিছুই দেখতে পাচ্ছি না যা HttpWebRequest/Response হতে পারে যা ওয়েব WebClient সাথে সম্পন্ন করা যাবে না, বা যেখানে HttpWebRequest / প্রতিক্রিয়া আপনাকে আরো "সূক্ষ্ম-দাগযুক্ত" নিয়ন্ত্রণ দেবে না।

যখন আমি ওয়েব ক্লায়েন্ট ব্যবহার করব এবং কখন HttpWebRequest/Response ? (স্পষ্টতই, HttpWebRequest/Response HTTP নির্দিষ্ট।)

যদি HttpWebRequest/Response নিম্ন স্তরের হয় তবে ওয়েব WebClient , আমি কি HttpWebRequest/Response সাথে সম্পন্ন করতে পারব না এমন HttpWebRequest/Response দিয়ে আমি কী সম্পাদন করতে WebClient ?


Answer #1

ওয়েব WebClient আরেকটি অসুবিধা এটি যখন আপনি প্রতিক্রিয়া পাঠ্যটি পেতে এটি ব্যবহার করেন তখন এটি HTTP সামগ্রী ContentType উপেক্ষা করে। Encoding সম্পত্তি দিয়ে আপনি স্পষ্টভাবে এনকোডিং সেট করতে হবে।


Answer #2

"HtttpWebRequest" নেট 4.5 এ অপ্রচলিত। এখন, এই ক্লাস শুধুমাত্র অভ্যন্তরীণ।


Answer #3

একাধিক জিনিস HttpWeququest আপনাকে কম্প্রেশন করতে দেয় কিন্তু সে Net.WebClient ক্লাস HTTP সংকোচন সমর্থন করে না


Answer #4

একটি উদাহরণ: ওয়েব ক্লায়েন্টের সাথে একটি পোস্ট / প্রতিক্রিয়া চক্রের মধ্যে ডেটা পোস্ট করা এবং ফিরে প্রক্রিয়াজাত হওয়া তথ্য অসম্ভব মনে হচ্ছে, তবে আপনি এটি HtttpWebRequest এর সাথে করতে পারেন।


Answer #5

টিম হিউয়ের ব্লগ থেকে - http://timheuer.com/blog/archive/2008/03/14/calling-web-services-with-silverlight-2.aspx সার্ভেস-with-silverlight-2.aspx

পরিবর্তে সিলভারলাইটে আপনি WebClient বা HttpWebRequest ব্যবহার করতে চান। পার্থক্য কি? এখানে timheuer সংস্করণ। WebClient একটি সহজ বাস্তবায়ন সত্যিই সহজে অনুরোধ জিইটিং করছেন এবং একটি প্রতিক্রিয়া প্রবাহ পেতে। HttpWebRequest যখন আপনি অনুরোধের উপর কিছুটা দারুণ নিয়ন্ত্রণের প্রয়োজন হয় তখন দুর্দান্ত, হেডার বা অন্যান্য কাস্টমাইজেশান প্রেরণের প্রয়োজন।


Answer #6

ওয়েব ক্লায়েন্ট ক্লাস ইউজার ইন্টারফেস থ্রেডে চলছে, তাই ইন্টারনেট ইন্টারফেসটি ইন্টারনেট থেকে ডাউনলোড করা হচ্ছে এমন প্রতিক্রিয়াশীল নয়। অন্যদিকে, HttpWebRequest ক্লাস ব্যবহারকারীর ইন্টারফেস থ্রেডটিকে ব্লক করে না এবং আপনার অ্যাপ্লিকেশনটি প্রতিক্রিয়াশীল। সুতরাং, এমন অ্যাপ্লিকেশানগুলিতে যেখানে ইন্টারনেট থেকে বিপুল সংখ্যক ডেটা ডাউনলোড করা হবে বা যদি ডেটা উৎসটি অ্যাক্সেসের জন্য ধীর হয় তবে আপনাকে এইচটিপি ওয়েবার রেভেস্ট ক্লাস ব্যবহার করতে হবে; অন্যান্য ক্ষেত্রে, আপনি WebClient ক্লাস ব্যবহার করা উচিত।


Answer #7

HttpWebRequest ব্যবহার করে আপনাকে অনুরোধে আরও নিয়ন্ত্রণ দেয়। আপনি কুকি, হেডার, প্রোটোকল, ইত্যাদি সেট করতে পারেন ... প্রতিক্রিয়াতে, আপনি কুকিজ এবং শিরোনামগুলি পুনরুদ্ধার করতে পারেন





httpwebresponse