質問

ASP.NET MVC 5 WEBROLE I`M APIがこのような文字列を使用するMaxMind GEO IPデータベースを使用しています。

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

完全な物理パスが必要な場合は、相対パスが機能しません。 質問は次のとおりです.NeBroleをクラウド内の展開、データベースを取得する方法はありますか?

リモート接続を介してインスタンスで入力されている場合は、ファイルがそこにあることがわかり、パスは次のとおりです。

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

しかしこれは機能しないため、例外があり、ファイルが見つかりませんでした。\ sitesRoot \ 0 \ contents \ db.mmdb '。

どうすればいいですか?ブロブを使うべきですか? データベースは1日に数百万回似ている可能性があるため、データベースが速くアクセス可能である必要があります.BLOBがこれらの同時接続の量をサポートできるかどうかわかりません。そのため、VMインスタンスに入手することをお勧めします。 ありがとう

役に立ちましたか?

解決

CloudService WebroleでファイルベースのDBを使用すると、Webroleを展開するたびに、DBが上書きされる可能性があります。同時実行性を保証する簡単な方法はありません。そうは言っても、Azure SQLまたはMySQLを使用することをお勧めします。新しいコードを展開するたびに上書きされない他のデータベースは、ファイルストレージではOKですが、ダイナミックなDBSではなく、サイズの制限が行われます。トラブルも。

コンテンツフォルダ内のファイルにアクセスするには、この so post

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top