Frage

Ich bin mit dem Embedded-Client / Server-Version von db4o (I genannt Openserver () anstelle von Openfile () -Methode), so dass ich eine asp.net Website hosten kann, dass mehrere Benutzer das Lesen und Schreiben in die Datenbank gleichzeitig haben. Das einzige Problem ist, dass der Webhost, die wir verwenden, ist ein Medium, vertrauenswürdige Umgebung, so dass es einen Fehler ist wirft die besagt, dass die Versammlung nicht teilweise vertrauenswürdigen Anrufer unterstützt ...

Sie fragen sich, ob jemand irgendwelche Vorschläge hat, wie diese Arbeit zu bekommen. Vielen Dank!

:: UPDATE ::

Ich habe die db4o DLL mit dem [AllowPartiallyTrustedCallers] Attribute neu kompilierte und jetzt habe ich die folgende spezifische Störung erhalten:

System.TypeInitializationException wurde nicht behandelt durch Benutzercode   Message = „Die Typeninitialisierer für‚DataObjecten.db4oManager‘hat eine Ausnahme.“   Type-Name = "DataObjecten.db4oManager"   Innerexception: System.Security.SecurityException        Message = "Antrag auf Genehmigung des Typs 'System.Security.Permissions.SecurityPermission mscorlib, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089' ist fehlgeschlagen."        Source = "Db4objects.Db4o"        Stacktrace:             bei Db4objects.Db4o.Internal.Platform4.AddShutDownHook (PartialObjectContainer Behälter)             bei Db4objects.Db4o.Internal.PartialObjectContainer.Initialize1 (IConfiguration config)             bei Db4objects.Db4o.Internal.PartialObjectContainer.Open ()             bei Db4objects.Db4o.Internal.IoAdaptedObjectContainer..ctor (IConfiguration Config, String filename)             bei Db4objects.Db4o.Internal.ObjectContainerFactory.OpenObjectContainer (IConfiguration Config, String databaseFileName)             bei Db4objects.Db4o.Db4oFactory.OpenFile (IConfiguration Config, String databaseFileName)             bei Db4objects.Db4o.Db4oFactory.OpenServer (IConfiguration Config, String databaseFileName, Int32 Port, INativeSocketFactory socket)             bei Db4objects.Db4o.Db4oFactory.OpenServer (IConfiguration Config, String databaseFileName, Int32 port)             bei DataObjecten.db4oManager..cctor ()        Innerexception:

War es hilfreich?

Lösung 3

Ich habe festgestellt, dass db4o wird nicht in einem Medium vertrauenswürdigen Umgebung arbeiten. Jeder, der für eine nosql Lösung sucht, die integrierbare oder Server ist aktiviert und nutzbar in einem Medium vertrauenswürdigen Umgebung einen Blick auf ravendb.net nehmen sollte - gelöst all meine Fragen ... (muss die munin verwalteten Speicher-Engine verwenden).

ähnlich wie bei einer Objektdatenbank (db4o), aber ohne all die Kopfschmerzen und wesentlich vielseitiger. Außerdem funktioniert mit Dingen wie Link oder Standard-Abfrage über JSON / HTTP ...

Big Vorteile sind:

Volltextsuche über Lucene.NET Sharding / Auto-Sharding Replikation (WAN / LAN) LINQ Indexing / Auto Indexing Große Leistung (viel schneller als db4o) Heimisch in .NET ACID-konform Transaktionen Multi-Tenancy Führen Sie im Client / Server-Modus oder eingebettet Die Lage in Medium Trust läuft

Andere Tipps

Ich weiß nicht, ob das funktioniert, aber man könnte versuchen, eine Wrapper-DLL zu schreiben, die auf true AllowPartiallyTrustedCaller gesetzt hat, und leitet alle Anrufe an die db4o DLL.

als db4o zu sehen, ist Open-Source Sie könnten mit AllowPartiallyTrustedCaller herunterladen und neu kompilieren auf true gesetzt, sich natürlich.

Dieser Faden legt jedoch nahe, dass möglicherweise nicht.

Ich habe dieses Problem auch getroffen und es scheint, dass db4o wird im Client / Server-Modus in einer Medium Trust Web-Anwendungsumgebung nicht funktionieren.
Dieses Projekt für ASP.NET-Provider mit db4o dies zu bestätigen scheint.
Es besagt, dass db4o auf Reflexion und nicht verwalteten Code angewiesen ist, die sowohl in mittlerer Vertrauenswürdigkeit verboten sind.
Ich denke, Ihre einzige Hoffnung, um die Fortschritte dies wäre ihrem Vorschlag zu folgen und einen gemeinsamen Anbieter finden, die Sie Ihren Code in voller Vertrauen laufen zu lassen.
Sehr enttäuschend, da habe ich genossen mit db4o arbeiten und dies hat nur einige Wochen Arbeit zum Scheitern gebracht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top