كيف يمكنني إرسال بيانات JSON التعسفي، مع رأس مخصص، إلى خادم الراحة؟
-
22-12-2019 - |
سؤال
tl؛ DR - كيف يمكنني إرسال سلسلة JSON إلى مضيف بقية مع رأس مصادقة؟ لقد جربت 3 طرق مختلفة وجدت واحدة تعمل مع أنواع مجهولة. لماذا لا يمكنني استخدام أنواع مجهولة؟ أحتاج إلى تعيين متغير يسمى "اسم المجموعة"، وينتوء عدم وجود معرف صالح C #.
الخلفية
أحتاج إلى نشر JSON ولكن لا أستطيع الحصول على الجسم ونوع المحتوى الصحيح
وظيفة # 1 - يعمل مع أنواع مجهولة
نوع المحتوى والبيانات صحيحة، لكنني لا أريد استخدام أنواع مجهولة الهوية. أريد استخدام سلسلة
giveacodicetagpre.الإخراج # 1
نوع المحتوى والبيانات صحيحة عند استخدام Anonymoustypes + postasjsonasync، لكنني لا أريد استخدام أنواع مجهولة.
giveacodicetagpre.وظيفة # 2 - لا يعمل كما هو متوقع
تأخذ سلسلة ووضعها في كائن stringcontent. هذا له تأثير جانبي لتغيير نوع المحتوى.
giveacodicetagpre.الإخراج # 2
نوع المحتوى هو الخطأ عند استخدام StringContent + postasync
giveacodicetagpre.وظيفة # 3 - لا يعمل كما هو متوقع
منذ أن أعرف PostAsJsonAsync
يضبط contenttype بشكل صحيح، يتيح استخدام هذه الطريقة. (لا يعمل)
الإخراج # 3
نوع المحتوى صحيح، جسم البريد هو الخطأ عند استخدام StringContent + postasjsonasync
giveacodicetagpre.السؤال
كل ما أريد القيام به هو إرسال JSON كسلسلة أو كائن ديناميكي محدد في وقت التشغيل، إلى خادم، مع خادم محتوى HTTP صحيح، ومع رأس "Auth-Token" خاص.
أي مثال، إن لم يكن استخدام WebAPI، مثل ServiceStack، أو أي شيء آخر رائع.
المحلول
هو منشئ stringcontent.يبدو أنك يجب أن تحدد الترميز المناسب والوساطة
نصائح أخرى
لا يمكنك إعداد مثيل مباشرة ل httpcontent، لأنه فئة مجردة.تحتاج إلى استخدام واحدة من الفئات الفرعية، اعتمادا على حاجتك.على الأرجح stringcontent، والتي تتيح لك تعيين قيمة السلسلة للاستجابة، والترميز، ونوع الوسائط في المنشئ: http://msdn.microsoft.com/en-us/library/system.net.http.stringcontent.aspx
الإجابة من كيف أقوم بإعداد httpcontent لمعلمة HTTPClient postasync الثانية؟