سؤال

وأنا محاولة استخدام وندسور وNHibernate في بيئة ثقة متوسطة وأنا على التوالي ضد بعض المشاكل مع الأذونات. لقد قرأت من خلال أسئلة أخرى على هذا ولكن أنا باستخدام منشأة NHibernate ندسور التي أنا لم أر مناقشتها.

لسبب ما هناك تبعية على التجميع Castle.Service.Transations عندما تبدأ حاوية تصل. هذا ثم يحاول إنشاء ومثيل:

Castle.Services.Transaction.CallContextActivityManager()

ويتم طرح استثناء أمان كما الإطارات CallContextActivityManager استخدام SetData في System.Runtime.Remoting.Messaging.CallContext التي يسمح فقط إذا كان لديك إذن البنية التحتية. انا التخمين أن التطبيقات ثقة متوسطة لا.

لا أحد يعرف طريقة تغلب على هذه المشكلة الأمنية في ثقة متوسطة؟ يجب أن تفريغ مرفق NHibernate وتسجيله يدويا مع الحاوية؟

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

المحلول

ويمكنك الحصول على حول هذا عن طريق تسجيل TLSActivityManager في حاوية (لنوع IActivityManager). سوف DefaultTransactionManager (التي يستخدمها NHibernateIntegrationFacility) ثم استخدام هذا ActivityManager بدلا من اطلاق النار قبالة CallContextActivityManager جديدة.

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