আমি একটি ওয়েব সার্ভিস লিখছি (এএসপি.নেট এমভিসি ব্যবহার করে) এবং সহায়তার প্রয়োজনের জন্য আমরা অনুরোধগুলি এবং প্রতিক্রিয়াটিকে যতটা সম্ভব কাঁচা, তারের অন বিন্যাসের (যেমন এইচটিটিপি সহ) লগতে সক্ষম হতে চাই পদ্ধতি, পথ, সমস্ত শিরোলেখ এবং বডি) একটি ডাটাবেসে প্রবেশ করুন।
আমি যে বিষয়ে নিশ্চিত নই তা ন্যূনতম 'ম্যাংলেড' উপায়ে কীভাবে এই ডেটাটি ধরে রাখা যায়। আমি বিশ্বাস করি যে অনুরোধটি HttpRequest
বস্তুর সমস্ত বৈশিষ্ট্য পরীক্ষা করে এবং সেগুলি থেকে একটি স্ট্রিং তৈরি করে (এবং একইভাবে প্রতিক্রিয়ার জন্য) যা দেখায় তাতে আমি পুনরায় গঠন করতে পারি তবে আমি সত্যিকারের অনুরোধ / প্রতিক্রিয়া ডেটা ধরে রাখতে চাই তারে প্রেরণ।
ফিল্টার, মডিউল ইত্যাদির মতো যে কোনও বাধা ব্যবস্থা ব্যবহার করতে পেরে আমি খুশি এবং সমাধানটি আইআইএস 7-র সাথে সুনির্দিষ্ট হতে পারে। তবে, আমি এটি কেবল পরিচালিত কোডেই রাখতে পছন্দ করি।
কোন সুপারিশ?
সম্পাদনা: আমি নোট করেছি যে HttpRequest
একটি SaveAs
পদ্ধতি আছে যা ডিস্কে অনুরোধ সংরক্ষণ করতে পারে তবে এটি অভ্যন্তরীণ রাষ্ট্র থেকে অনুরোধটিকে পুনরায় গঠন করে যে কোনও অভ্যন্তরীণ সহায়ক পদ্ধতি ব্যবহার করা যায় না যা সর্বজনীনভাবে অ্যাক্সেস করা যায় না (বেশিরভাগ ক্ষেত্রেই এটি কোনও ব্যবহারকারীর দ্বারা সরবরাহিতগুলিতে সংরক্ষণের অনুমতি দেয় না) স্ট্রিম আমি জানি না)। সুতরাং এটি দেখতে শুরু হচ্ছে যে আমি অবজেক্টগুলি থেকে অনুরোধ / প্রতিক্রিয়া পাঠ্যের পুনর্গঠন করার জন্য আমার সর্বোত্তম চেষ্টা করতে হবে ... হাহাকার।
সম্পাদনা 2: দয়া করে নোট করুন যে আমি পদ্ধতি, পথ, শিরোনামগুলি সহ পুরো অনুরোধটি বলেছিলাম বর্তমান প্রতিক্রিয়াগুলি কেবলমাত্র শরীরের স্ট্রিমগুলিতে নজর রাখে যা এই তথ্যগুলিকে অন্তর্ভুক্ত করে না।
3 সম্পাদনা করুন: কেউ কি এখানে প্রায় প্রশ্ন পড়েন না? পাঁচটি উত্তর এখনও পর্যন্ত এবং এখনও কোনওটি তার পথে সম্পূর্ণ কাঁচা পাওয়ার জন্য কোনওভাবেও ইঙ্গিত দেয় না। হ্যাঁ, আমি জানি যে আমি আউটপুট স্ট্রিমগুলি এবং শিরোনামগুলি এবং ইউআরএল এবং অনুরোধের বস্তু থেকে সমস্ত স্টাফ ক্যাপচার করতে পারি। আমি ইতিমধ্যে প্রশ্নে বলেছি যে দেখুন:
এইচটিটিপিআরকুয়েস্ট অবজেক্টের সমস্ত বৈশিষ্ট্য পরীক্ষা করে এবং সেগুলি থেকে একটি স্ট্রিং তৈরি করে (এবং একইভাবে প্রতিক্রিয়ার জন্য) আমি অনুরোধটি দেখে মনে হচ্ছে তার পুনরায় গঠন করতে পারি তবে সত্যিকারের অনুরোধ / প্রতিক্রিয়া ডেটা ধরে রাখতে আমি সত্যিই চাই যে তারে প্রেরণ করা হয়।
আপনি যদি সম্পূর্ণ কাঁচা ডেটা জানেন (সহ শিরোনাম, ইউআরএল, এইচটিপি পদ্ধতি ইত্যাদি) সহজেই পুনরুদ্ধার করা যায় না তবে তা জানার পক্ষে দরকারী। একইভাবে আপনি যদি এটি কীভাবে কাঁচা ফর্ম্যাটে (হ্যাঁ, আমি এখনও শিরোনাম, ইউআরএল, এইচটিপি পদ্ধতি ইত্যাদির অর্থ বোঝাতে চাই) এটি পুনর্গঠন না করেই জানতে পারি, যা আমি জিজ্ঞাসা করেছি, তবে এটি খুব কার্যকর হবে। তবে আমি HttpRequest
/ HttpResponse
বস্তুগুলি থেকে এটি পুনর্গঠন করতে পারি তা বলাই কার্যকর নয়। আমি জানি। আমি ইতিমধ্যে এটি বলেছি।
দয়া করে নোট করুন: কেউ এটিকে খারাপ ধারণা বলে শুরু করার আগে বা স্কেল্যাবিলিটি ইত্যাদিকে সীমাবদ্ধ রাখার আগে আমরা বিতরণ পরিবেশে থ্রোটলিং, সিক্যুয়াল ডেলিভারি এবং অ্যান্টি-রিপ্লে পদ্ধতিগুলিও প্রয়োগ করব, সুতরাং যেভাবেই ডাটাবেস লগিং প্রয়োজন। আমি এটি একটি ভাল ধারণা কিনা তা নিয়ে কোনও আলোচনার খোঁজ করছি না, আমি কীভাবে এটি করা যায় তা সন্ধান করছি।