Ich entwickelte eine Website mit Asp.Net MVC und Edmx-Datenbank und ich veröffentlichte diese Website auf azurblau und meine Datenbank ist auch auf azurblau und ich habe eine Funktionalität auf der Website, die Excel-Datensatz in die Datenbank hochladen und Dieses Excel-Blatt enthält fast 18000 Datensätze jedes Mal, wenn ich dieses Blatt hochlade es Timeout-Fehler nach einiger Zeit werfen, was soll ich tun.Timeout 500 Fehler auf Edmx
Anfang war ich jeden Befehl Timeout nicht verwenden, aber nach einiger Forschung dies in Ich verwende Konstruktor
public ProfessionalServicesEntities()
: base("name=ProfessionalServicesEntities")
{
this.Database.CommandTimeout = 10000;
//this.Database.CommandTimeout = 0; //I tried this too.
//((IObjectContextAdapter)this).ObjectContext.CommandTimeout = 3600;
}
Hier ist der Code von Funktion: -
public void SaveEquipments(IEnumerable<EquipSampleEntity> collection)
{
using (ProfessionalServicesEntities db = new ProfessionalServicesEntities())
{
string modelXml = XmlSerialization.ListToXml(collection.Where(x=>x.Type == Model).ToList());
string accessoryXml = XmlSerialization.ListToXml(collection.Where(x => x.Type == Accessory).ToList());
db.ImportEquipmentFile(modelXml, accessoryXml);
}
}
Hier ist der Kontextdateicode für SP: -
public virtual int ImportEquipmentFile(string modelXml, string accessoryXml)
{
var modelXmlParameter = modelXml != null ?
new ObjectParameter("ModelXml", modelXml) :
new ObjectParameter("ModelXml", typeof(string));
var accessoryXmlParameter = accessoryXml != null ?
new ObjectParameter("AccessoryXml", accessoryXml) :
new ObjectParameter("AccessoryXml", typeof(string));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("ImportEquipmentFile", modelXmlParameter, accessoryXmlParameter);
}
für die Verarbeitung – jamiedanq
@jamiedanq die angegebene Zeit erhöhen, wie? – Abhay
Können Sie Code für Datei-Upload, web.config & Datenkontext anzeigen, den Sie verwenden (falls vorhanden)? Wie oft ist es vergangen, bis das Timeout erreicht wurde? Ich möchte auch wissen, ob Sie "ObjectContext.CommandTimeout" einen Wert zugewiesen haben. –