سؤال

أنا أستخدم إصدار العميل/الخادم المضمن من db4o (اتصلت بـ OpenServer() بدلاً من طريقة OpenFile()) حتى أتمكن من استضافة موقع asp.net الذي سيحتوي على العديد من المستخدمين الذين يقومون بالقراءة والكتابة إلى قاعدة البيانات في وقت واحد.المشكلة الوحيدة هي أن مضيف الويب الذي نستخدمه هو بيئة ذات ثقة متوسطة، لذا فهو يُظهر خطأ يفيد بأن التجميع لا يدعم المتصلين الموثوق بهم جزئيًا...

أتساءل عما إذا كان لدى أي شخص أي اقتراحات حول كيفية تشغيل هذا.شكرًا!

::تحديث ::

لقد قمت بإعادة ترجمة ملف db4o dll باستخدام السمة [AllowPartiallyTrustedCallers] والآن أتلقى الخطأ المحدد التالي:

System.TypeInitializationException لم يتم التعرف عليه بواسطة رسالة رمز المستخدم = "Type Entremizer لـ" dataObjecten.db4anager "ألقى استثناءً." TypEname = "dataObjecten.db4omanager" inserexception:System.Security.SecurityException Message = "طلب إذن من النوع 'system.security.permissions.SecurityPermission ، mscorlib ، الإصدار = 2.0.0.0 ، الثقافة = محايد ، publickeytoken = b77a561934e089' Source = "db4objects.db4o" stacktrace:في db4objects.db4o.internal.platform4.addshutdownhook (حاوية partialObjectContainer) في db4objects.db4o.internal.partialjontcontainer.initialize1 (iconfiguration config) at db4objects.db4o . ctor (تكوين الأيقونات ، اسم ملف السلسلة) في db4objects.db4o.internal.ObjectContainerFactory.openObjectContainer (config config ، string databasefilename) at db4objects.db4o.db4ofactory.openfile (iconfiguration ، Actory.OpenServer (IconFiguration config ، string databasefilename ، منفذ int32 ، inativesocketfactory socketFactory) في db4objects.db4o.db4ofactory.openServer

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

المحلول 3

لقد وجدت أن db4o لن يعمل في بيئة ذات ثقة متوسطة.يجب على أي شخص يبحث عن حل nosql قابل للتضمين أو تمكين الخادم وقابل للاستخدام في بيئة ثقة متوسطة أن يلقي نظرة على ravendb.net - لقد حل جميع مشكلاتي...(يجب استخدام محرك التخزين المُدار munin).

تشبه قاعدة بيانات الكائنات (db4o) ولكن بدون كل المتاعب وأكثر تنوعًا.يعمل أيضًا مع أشياء مثل الارتباط أو الاستعلام القياسي عبر JSON/HTTP...

الامتيازات الكبيرة هي:

البحث الكامل في البحث عن طريق lucene.net sharding/ تكرار التكرار التلقائي (WAN/ LAN) LINQ فهرسة/ فهرسة تلقائية أداء رائع (طريقة أسرع من DB4O) الأصليين. من الجري في ثقة متوسطة

نصائح أخرى

وأنا لا أعرف إذا كان هذا يعمل، ولكن يمكنك أن تحاول كتابة DLL المجمع الذي يحتوي AllowPartiallyTrustedCaller المقرر أن يصدق، ويمر كل المكالمات إلى DLL db4o.

وكما نرى db4o مفتوح المصدر هل يمكن تحميل وإعادة ترجمة مع AllowPartiallyTrustedCaller المقرر أن صحيح نفسك بطبيعة الحال.

هذا موضوع ومع ذلك يوحي أن هذا قد لا تعمل.

ولقد ضرب هذه المشكلة وكذلك فإنه لا يبدو من شأنها أن db4o لا تعمل في وضع العميل / الخادم في بيئة تطبيق ويب ثقة متوسطة.
هذا المشروع لمقدمي ASP.NET باستخدام db4o يبدو لتأكيد ذلك.
وهو ينص على أن db4o وتعتمد على التفكير والتعليمات البرمجية غير المدارة وكلاهما محظور في ثقة متوسطة.
وأعتقد أن الأمل الوحيد لتقدم هذا سيكون لمتابعة اقتراح والعثور على مقدم المشتركة التي تسمح لك لتشغيل التعليمات البرمجية في الثقة الكاملة.
مخيبة للآمال جدا ولقد استمتعت بالعمل مع db4o وهذا أفسد عدة أسابيع فقط من العمل.

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