কীভাবে এইচটিটিপি কনটেন্ট ব্যবহার করবেন তা খুঁজে পাচ্ছেন না


184

আমি ব্যবহার করার চেষ্টা করছি HttpContent:

HttpContent myContent = HttpContent.Create(SOME_JSON);

... তবে ডিএলএল যেখানে এটি সংজ্ঞায়িত হয়েছে তা সন্ধান করার জন্য আমার ভাগ্য নেই।

প্রথমত, আমি Microsoft.Httpপাশাপাশি উল্লেখগুলি যুক্ত করার চেষ্টা করেছি System.Net, তবে দুটিও তালিকায় নেই। আমি একটি রেফারেন্স যোগ করার চেষ্টা করেছি System.Net.Httpকিন্তু HttpContentক্লাসটি উপলভ্য নয়।

সুতরাং, কেউ আমাকে বলতে পারে আমি HttpContentক্লাসটি কোথায় খুঁজে পাব?

উত্তর:


-7

বর্গ উপস্থিত হচ্ছে হিসেবে তালিকাভুক্ত করা হয় মধ্যে System.Net.Httpসমাবেশ। নোট করুন যে এই ক্লাসটি .NET 4.5 এর জন্য নতুন, তাই আপনাকে ছাত্রলীগের সেই সংস্করণটি ব্যবহার করা দরকার।


2
এটি
নুগেট

121
ঘৃণ্য হতে পিক হতে হবে কিন্তু প্রশ্ন দেওয়া হয়েছে, এটি কি প্রতিযোগিতার উত্তর নয়? শিওর সিস্টেম.নেট.এইচটিপিতে এইচটিপিপি কনটেন্ট রয়েছে। তবে এইচটিটিপি কনটেন্টের তৈরি পদ্ধতি নেই। আপনার স্ট্রিংকন্টের মতো একটি উত্পন্ন ক্লাস ( pfelix.wordpress.com/2012/01/16/… ) ব্যবহার করতে হবে । উদাহরণস্বরূপ নতুন স্ট্রিংকনেন্ট (SOME_JSON)
ফুটন্ডার

13
@ F ফুটফান্ডার এটি মোটেই পিক নয়, এই উত্তরটি সঠিক নয়।
অরণ মুলহোল্যান্ড

: আপনি একটি সঠিক উদাহরণস্বরূপ নিচের Youngjae এর উত্তর দেখতে পারেন stackoverflow.com/a/24474664/21539
জৈন রিজভী

8
এই উত্তরটি করে ঠিকানা ওপি এর অভিপ্রায় মূল প্রশ্ন যা আমার খুব যত্ন সহকারে পড়লে থেকে জিজ্ঞেস করল শুধুমাত্র যেখানে HttpContentবর্গ পাওয়া যাবে। (এছাড়াও মনে রাখবেন ওপি এই উত্তর গৃহীত।) এটা ঠিক যে ওপি একটি ছিল দ্বিতীয় সমস্যা (একটি দৃষ্টান্ত গঠন করা চেষ্টা HttpClient) যে সম্ভবত পর্যন্ত ওপি করার স্পষ্ট ছিল না পরে ডিএলএল রেফারেন্স সমস্যা সমাধান করা হয়েছে। কিছু উত্তর এখানে দ্বিতীয় সমস্যাটিকে সম্বোধন করে এবং অনেকগুলি সে উত্তরগুলি দরকারী বলে মনে করে। পরিশেষে, আমি এটিকে পরিষ্কার করতে প্রশ্নটি (ওপি এর মূল পাঠ্যের উপর ভিত্তি করে) সম্পাদনা করেছি।
ডেভিডআরআর

373

শুধু ব্যবহার করুন ...

var stringContent = new StringContent(jObject.ToString());
var response = await httpClient.PostAsync("http://www.sample.com/write", stringContent);

অথবা,

var stringContent = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json");
var response = await httpClient.PostAsync("http://www.sample.com/write", stringContent);

বলেছে কন্টেন্ট প্যারামিটারের IHttpContent হওয়া দরকার এবং স্ট্রিংকন্টেন্ট নয়। আমি যখন এটি ইন্টারফেসে কাস্ট করি তবে তা খুশি।
micahhoover

3
এইচটিটিপিস্ট্রিংকন্টেন্ট ব্যবহার করে শেষ হয়েছে। আমি স্ট্রিংকন্টেন্ট শ্রেণিটি ব্যবহার করতে পারিনি কারণ পোস্ট আইসেন্স (বা আমার ক্ষেত্রে পুতআসেন্স) স্ট্রিংকন্টকে স্বীকার করে না এমনকি যদি আপনি এটি আইএইচটিপি কনটেন্ট অবজেক্টে ফেলে দেন তবে।
micahhoover

4
স্ট্রিংকন্টেন্ট আমার জন্য পোস্টএন্সিঙ্কের সাথে কাজ করে, তবে আপনি যদি HTTPContent ব্যবহার করতে চান বা প্রয়োজন চান তবে আপনি এটি এর মতো করতে পারেন: HttpContent সামগ্রী = নতুন স্ট্রিংকন্ট (jsonString);
ক্রিস কয়েস্টার

আমার এই একই উত্তরটি আমার কাছে একই ধরণের সমস্যা বলে মনে হচ্ছে, তবে আমি আমার উভয় এপিআই দিয়েই ডিবাগ করার সাথে সাথে আমি একটি পোস্টএএনসিঙ্ক ("পথ", স্ট্রিংকন্ট) পেয়েছি তবে যখন এটি অন্য এপিআইতে হিট হয় তখন আমি করি না বিশ্লেষণ এবং ব্যবহার করার জন্য একটি দেহ আছে এবং ফিরতি আমি 500 পাই ... মনে হচ্ছে আমি ক্ষতির মধ্যে পড়ছি যেহেতু আমি এটি ঠিক এভাবে করছি। কেবলমাত্র পার্থক্যটি হ'ল আমি অবজেক্টটিকে সিরিয়ালাইজ করি না কারণ এটি আমি আগে এআইপিআই-এ পেয়েছি যখন এটি ইতিমধ্যে সিরিয়ালযুক্ত হয়েছে এবং এটি একটি সাধারণ পাস্ত্রথ্রু।
স্ল্যাগমথ

এটির উত্তরটি হওয়া উচিত: /
ড্যানিয়েল

147

6 ফুটফুন্ডারের মন্তব্য নেওয়া এবং এটিকে উত্তরে রূপান্তর করা HttpContentবিমূর্ত, সুতরাং আপনাকে উত্পন্ন ক্লাসগুলির মধ্যে একটি ব্যবহার করতে হবে:

এখানে চিত্র বর্ণনা লিখুন


5
দেখে মনে হচ্ছে তিনি ভিসুয়াল স্টুডিও এর "ক্লাস চিত্র" বৈশিষ্ট্য ব্যবহৃত (আপনার প্রকল্পের ডান-ক্লিক করুন, আইটেম যোগ করুন, ক্লাস চিত্র। তারপর আপনি সমাধান এক্সপ্লোরার পুরনো যান এবং তথ্যসূত্র প্রসারিত লাইব্রেরি আপনি রেফারেন্স ডায়াগ্রামে পেতে পারেন।) Docs.microsoft.com/en -আস / ভিজ্যুষ্টুডিও / আদর্শ /…
অরিন

77

জেএসএন পোস্টের জন্য:

var stringContent = new StringContent(json, Encoding.UTF8, "application/json");
var response = await httpClient.PostAsync("http://www.sample.com/write", stringContent);

অ তাদেরকে JSON:

var stringContent = new FormUrlEncodedContent(new[]
{
    new KeyValuePair<string, string>("field1", "value1"),
    new KeyValuePair<string, string>("field2", "value2"),
});
var response = await httpClient.PostAsync("http://www.sample.com/write", stringContent);

https://blog.pedrofelix.org/2012/01/16/the-new-system-net-http-classes-message-content/


আমি আপনার "নন-জসন" উদাহরণটি ব্যবহার করার চেষ্টা করছি, প্রাপ্তির শেষে কীভাবে ডেটা পড়ব?
জো

var বিষয়বস্তু = প্রতিক্রিয়ার জন্য অপেক্ষা করুন। কনটেন্ট .আড্ড স্ট্রিংএসিঙ্ক ();
ফিলিপ দেভেজা

6

এইচটিটিপি কনটেন্টের চূড়ান্ত সংস্করণ এবং পুরো সিস্টেম. নেট.এইচটিটিপি নেমস্পেস .NET 4.5 নিয়ে আসবে, আপনি নুগেট থেকে মাইক্রোসফট. নেট.এইচটিপি প্যাকেজ যুক্ত করে একটি নেট নেট সংস্করণ ব্যবহার করতে পারেন 4.5


0

আমি নিশ্চিত যে কোডটি System.Net.Http.Http কনটেন্ট ক্লাসটি ব্যবহার করছে না, পরিবর্তে মাইক্রোসফ্ট.এইচটিপি.এইচটিপি কনটেন্ট ব্যবহার করছে। মাইক্রোসফ্ট.এইচটিটিপি ছিল ডাব্লুসিএফ রিস্ট স্টার্টার কিট, যা নেট নেট ফ্রেমওয়ার্কে রাখার আগে পূর্বরূপটি কখনই তৈরি করে নি। আপনি এখনও এটি এখানে পেতে পারেন: http://aspnet.codeplex.com/releases/view/24644

আমি এটিতে নতুন কোড বেস করার পরামর্শ দেব না।


0

System.Net.Httpনামস্থান (যেখানে HttpContentবর্গ বসবাস) এর নতুন নেট 4.5 , আপনি একটি VS2012 রেসিন ব্যবহার করা হয়?

অন্যথায়, আপনার এটিতে অ্যাক্সেস থাকবে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.