Domanda

In un weblole ASP.NET MVC 5 It utilizzando il database IP MAXMIND GEO il cui API utilizza una stringa come questa:

  var reader = new DatabaseReader    (@"C:\Users\User\Source\Workspaces\myproject\Contents\db.mmdb");
.

Ha bisogno di un percorso fisico completo, un percorso relativo non funziona. La domanda è: Distribuzione del webrole nel cloud, come posso recuperare il database?

Immissione tramite connessione remota Nell'istanza, posso vedere che il file è lì e il percorso è:

var reader = new DatabaseReader(@"E:\sitesroot\0\Contents\db.mmdb");
.

Ma questo non funziona e ho un'eccezione non è riuscito a trovare il file 'e: \ sitesroot \ 0 \ contenuto \ db.mmdb'.

Come posso fare?Dovrei usare un blob? Il database deve essere veloce accessibile poiché potrebbe essere chiamato centinaia di milioni di volte al giorno, non so se il BLOB può supportare questa quantità di connessioni simultanee, quindi preferisco averlo nell'istanza VM. Grazie

È stato utile?

Soluzione

L'utilizzo di un DB basato su file in un webrolo di cloudservice è una cattiva idea - ogni volta che si distribuisce il webrole, il DB verrà sovrascritto.Non esiste un modo semplice per garantire la concorrenza.Detto questo, sarebbe meglio usare Azure SQL o MySQL (o qualsiasi altro database non soggetto ad essere sovrascritti ogni volta che si distribuisce un nuovo codice. Il BLOB è OK per la memorizzazione dei file, ma non dbs dinamici e le limitazioni di dimensione vi preleverannoproblemi pure.

Per accedere ai file nella cartella dei contenuti, vedere questo Quindi post .

Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Contents");
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top