অ্যাসিঙ্ক পার্টিশিয়াল ভিউয়ের কারণে "এইচটিপিএস সার্ভার ইউটিলিটি x এক্সেকিউট ব্লকড ..." ব্যতিক্রম ঘটে


85

আমার একটি আংশিক দৃষ্টিভঙ্গি রয়েছে যা IEnumerable<Post>অ্যাসিঙ্ক ব্যবহার করে ডাটাবেস থেকে পুনরুদ্ধার করার চেষ্টা করে ...

পদ্ধতি

public static class PostService
{
    public static int PostsPerPage = 50;

    public static async Task<IEnumerable<Post>> GetRecentAsync(int page = 0)
    {
        return await entityFrameworkDbContext.Posts
            .ToListAsync();
    }
}

আংশিক ভিউ

public async Task<ActionResult> Recent(int page = 0)
{
    return PartialView(await PostService.GetRecentAsync(page));
}

এবং তারপরে যদি আমি এটি কল করার চেষ্টা করি

@Html.Action("Recent", "Post")

আমি নিম্নলিখিত ব্যতিক্রম পাই

এইচটিপিএসবার সার্ভিসিলিটি.এসিঙ্কিউট অবরুদ্ধ একটি অ্যাসিক্রোনাস অপারেশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করার সময়।

বর্ণনা: বর্তমান ওয়েব অনুরোধটি কার্যকর করার সময় একটি অযৌক্তিক ব্যতিক্রম ঘটেছে। ত্রুটি সম্পর্কে আরও তথ্যের জন্য দয়া করে স্ট্যাক ট্রেসটি পর্যালোচনা করুন এবং কোডটি এর উত্পন্ন কোথায়।

ব্যতিক্রমের বিবরণ: সিস্টেম.অনুষ্ঠানিক অপারেশন এক্সপেশন: এইচটিটিপি সার্ভার ইউটিলিটি.একটি অ্যাসিক্রোনাস অপারেশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করতে গিয়ে অবরুদ্ধ করা অবরুদ্ধ।

কেন আমি এই ত্রুটি পেতে পারি? কাজ করা উচিত নয়?

উত্তর:


97

শিশু ক্রিয়াকলাপগুলি সিঙ্ক্রোনসিভভাবে আবশ্যক। 601 সংখ্যা বর্তমান এমভিসি লাইব্রেরিগুলিতে এই কার্যকারিতাটির অনুমতি দেয় এমন কোনও সাম্প্রতিক আপডেট সম্পর্কে আমি অবগত নই।

601 ইস্যুতে একটি মন্তব্য, এমভিসি ভিএনেক্স, ওরফে এই কার্যকারিতাটি যুক্ত হওয়ার ইঙ্গিত দেয়। এমভিসি 6। শিশু ক্রিয়াগুলি প্রতিস্থাপিত হবে ViewComponentযা নীচের মতামত থেকে অবিচ্ছিন্নভাবে আহ্বান করা যেতে পারে। এখানে এবং এখানে সম্পূর্ণ উদাহরণ

<div>
@await Component.InvokeAsync("YourComponent")
</div>

এমভিসি 6 সম্পর্কে আরও জানতে, http://www.asp.net/vnext/overview/aspnet-vnext/overview

দ্রষ্টব্য: এই উত্তরটি কেবল একটি আনুষ্ঠানিকতা, সুতরাং প্রশ্নের উত্তর হিসাবে চিহ্নিত করা যেতে পারে


601 লিঙ্কটি আর বৈধ নয়
সার্জ

6

এই ইস্যুটির একটি কার্যপ্রণালী হ'ল এমভিসির প্রয়োজন অনুসারে পদ্ধতিটিকে সিঙ্ক্রোনিয়াস করা, সিঙ্ক্রোনাইজেশন কনটেক্সট সাফ করা, অ্যাসিঙ্ক পদ্ধতিটি কল করুন এবং ফলাফলের জন্য অপেক্ষা করুন, তারপরে প্রসঙ্গটি পুনরুদ্ধার করুন।

আমার সম্পূর্ণ aswer এখানে দেখুন


4
(এই পোস্টটি প্রশ্নের কোনও মানের উত্তর সরবরাহ করে বলে মনে হচ্ছে না Please দয়া করে হয় আপনার উত্তরটি সম্পাদনা করুন, বা এটি কেবল প্রশ্নের মন্তব্য হিসাবে পোস্ট করুন)।
সুনুন ןɐ কিউপি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.