সি # তে, আপনি যখন কোনও পদ্ধতিকে ওভাররাইড করেন, মূল পদ্ধতিটি ছিল না তখন ওভাররাইড অ্যাসিঙ্ক করার অনুমতি দেওয়া হয়। এটিকে খারাপ রূপ বলে মনে হচ্ছে।
আমার কাছে যে উদাহরণটি এনেছিল তা হ'ল - আমাকে একটি লোড পরীক্ষার সমস্যার সাথে সহায়তা করার জন্য আনা হয়েছিল। প্রায় 500 একযোগে ব্যবহারকারী, লগইন প্রক্রিয়া একটি পুনর্নির্দেশ লুপে ভেঙে যায়। আইআইএস "অ্যাসিক্রোনাস অপারেশন এখনও বিচারাধীন থাকা অবস্থায় একটি অ্যাসিক্রোনাস মডিউল বা হ্যান্ডলার সম্পন্ন হয়েছে" বার্তাটি দিয়ে ব্যতিক্রম লগ করছিল। কিছু অনুসন্ধান আমাকে ভাবতে বাধ্য করেছিল যে কেউ আপত্তি করছে async void
, কিন্তু উত্সের মাধ্যমে আমার দ্রুত অনুসন্ধানগুলি কিছুই খুঁজে পায় না।
দুঃখের বিষয়, যখন আমি 'অ্যাসিঙ্কস [টি]] এর মতো আরও কিছু সন্ধান করা উচিত ছিল তখন আমি' async \ svoid '(রেজেক্স অনুসন্ধান) সন্ধান করছিলাম (ধরে নিলাম টাস্ক পুরোপুরি যোগ্য ছিল না ... ধরে নেওয়া উচিত)।
আমি পরে যা পেয়েছি তা async override void onActionExecuting(...
বেস কন্ট্রোলারে ছিল। স্পষ্টতই সমস্যাটি ছিল এবং এটি ছিল। এটি স্থির করে (মুহুর্তের জন্য এটি সিঙ্ক্রোনাস করে) সমস্যার সমাধান করে।
প্রশ্নে ফিরে যান: আহা কেন যখন কলিং কোডটি কখনই অপেক্ষা না করতে পারে তখন আপনি কেন একটি ওভাররাইডকে async হিসাবে চিহ্নিত করতে পারেন?
Task
।