রান-টাইমে কোনও পরিষেবা নিবন্ধন করা সম্ভব, অর্থ নির্মিত হওয়ার পরে এবং ContainerBuilder
তৈরি হওয়ার পরে Container
(এবং ContainerBuilder
তা নিষ্পত্তি করা) অর্থ?
উত্তর:
হ্যাঁ আপনি এই Update
পদ্ধতিটি ব্যবহার করে করতে পারেন ContainerBuilder
:
var newBuilder = new ContainerBuilder();
newBuilder.Register...;
newBuilder.Update(existingContainer);
যেহেতু কনটেইনার বিল্ডার। আপডেটটি অবমূল্যায়ন করা হয়েছে, তাই নতুন পরামর্শটি হ'ল শিশুদের আজীবন সুযোগ ব্যবহার করুন।
একটি লাইফটাইম স্কোপে নিবন্ধগুলি যুক্ত করা
আপনি আজীবন স্কোপগুলি তৈরি করার সাথে অটোফ্যাক আপনাকে "ফ্লাইতে" নিবন্ধগুলি জুড়তে দেয়। এটি আপনাকে সহায়তা করতে পারে যখন আপনাকে "স্পট ওয়েল্ড" সীমাবদ্ধ রেজিস্ট্রেশন ওভাররাইড করার প্রয়োজন হয় বা যদি আপনার সাধারণত এমন একটি সুযোগে কিছু অতিরিক্ত জিনিস প্রয়োজন হয় যা আপনি বিশ্বব্যাপী নিবন্ধন করতে চান না। আপনি বিগিনলাইফটাইমস্কোপ () -এ একটি ল্যাম্বডা পাস করে এটি করেন যা একটি কনটেইনারবিল্ডার নেয় এবং নিবন্ধগুলি যুক্ত করে।
using(var scope = container.BeginLifetimeScope(
builder =>
{
builder.RegisterType<Override>().As<IService>();
builder.RegisterModule<MyModule>();
}))
{
// The additional registrations will be available
// only in this lifetime scope.
}