Saya ingin mengirim gambar yang disimpan di MongoDB menggunakan GridFS melalui aplikasi Web MVC4 ke browser melalui lingkungan LAN saya, tetapi perlu waktu ~500 md hingga gambar dikirim ke browser.
Pemeriksa jaringan Google Chrome mengatakan sebagian besar waktu dihabiskan selama "Menunggu" sedangkan "Menerima" yang sebenarnya membutuhkan waktu ~1 md.
Server MongoDB ada di jaringan lokal, jadi apa yang memakan waktu lama untuk mengirim gambar 10kb? Saya menggunakan Windows 8 dengan Visual Studio 2012 dan driver mongo-csharp resmi melalui NuGet.
Ini kode pengontrol "File" saya yang mengambil id objek dan mengirimkan data untuk id ini:
public FileContentResult Files(string id)
{
var database = new MongoClient(MyConnection).GetServer().GetDatabase("MyDB");
var gridFs = new MongoGridFS(database);
var bsonId = new BsonObjectId(id);
var gridInfo = gridFs.FindOneById(bsonId);
var bytes = GridInfoToArray(gridInfo);
return new FileContentResult(bytes, "image/jpeg") { FileDownloadName = gridInfo.Name };
}
private byte[] GridInfoToArray(MongoGridFSFileInfo file)
{
using (var stream = file.OpenRead())
{
var bytes = new byte[stream.Length];
stream.Read(bytes, 0, (int)stream.Length);
return bytes;
}
}
Kode untuk menampilkan gambar dalam Tampilan:
<img src="@Url.Action("Files", new { id = objectIdOfMyImage) })"/>
explain
dari shell? Mungkin Anda melewatkan indeks atau semacamnya. - person Shane Andrade   schedule 13.02.2013explain
pada kueri Anda? Atau memeriksa latensi antara server web Anda dan server mongodb Anda? - person Shane Andrade   schedule 13.02.2013Explain()
pada hasilgridFs.Find(Query.EQ("_id", bsonId))
: pastebin.com/bXeMX3hv - person NKnusperer   schedule 13.02.2013