كيف يمكنني تمرير الوسائط منشئ مع حقن التبعية باستخدام Castle.Windsor؟

StackOverflow https://stackoverflow.com/questions/1429609

سؤال

وأنا الأسلاك حتى بلدي الأول دون سرعة الصوت 3 التطبيق (في ASP.NET MVC 1.0 الأمامية)، وأنا أبحث في SimpleRepository روب. أنا باستخدام Castle.Windsor باعتبارها إطارا الحقن.

في بدء تشغيل التطبيق الخاص بي، وأنا تكوين قلعة لربط دون سرعة الصوت SimpleRepository إلى دون سرعة الصوت IRepository. لا شيء معقد هناك. ومع ذلك، فإن SimpleRepository لديه الزائد المنشئ الذي يأخذ قيمتين: اسم سلسلة الاتصال ومجموعة من SimpleRepositoryOptions. عدم وجود حفر عميقة جدا إلى القلعة في الماضي، فإنه ليس من الواضح ما إذا كان هناك طريقة لتحديد الحجج المنشئ عبر التكوين (أو بعض وسائل أخرى).

والآن، لدي تنفيذ مخصص للSimpleRepository أن يخلق صراحة SimpleRepository مع تلك الحجج في انها المنشئ parameterless، ولكن إذا كنت ترغب في تغيير هذه في أي وقت من الأوقات، فإنه يتطلب تغيير رمز واعادة تجميع.

هل هناك طريقة أكثر أناقة لتكوين قلعة لاتخاذ الحجج منشئ؟

هل كانت مفيدة؟

المحلول

هذه الصفحة يكي . ما يسمى "المعلمات" على تلك الصفحة هو إما المعلمة منشئ (والذي هو معلمة مطلوب) أو خاصية (المعلمة اختياري)

نصائح أخرى

إذا كنت تكوين وندسور باستخدام ملف XML، يمكنك تحديد الحجج المنشئ وقيمهم مثل هذا:

<component id="repository" service="IRepository" type="SimpleRepository" ...>
    <parameters>
        <connectionString>your connection string</connectionString>
        ...
    </parameters>
</component>

وراجع مرجع التكوين وندسور لمزيد من المعلومات:

http://www.castleproject.org/container/documentation/ v1rc3 / دليل / windsorconfigref.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top