Actualmente estoy implementando en un sitio web MVC 3 que usa Entity Framework 4.3 para el acceso a la base de datos.Resultados inesperados con paginación después de implementar la aplicación en IIS (MVC3, EF 4.3)
La aplicación funciona como se espera en el servidor de desarrollo de Visual Studio, pero una vez que se implementa en el servidor remoto la consulta reacciona de forma inesperada
Debe mostrar una lista y páginas ordenada a través de que los datos ordenados
I' He intentado reiniciar el servidor web y la máquina del servidor físico para asegurarme de que el caché se ha ido e incluso he intentado utilizar un sitio IIS limpio en el servidor remoto con el mismo resultado.
[Editar]: También he hecho un total eliminar y volver a publicar en un sitio limpio, así
El equipo de desarrollo
en el servidor remoto
El código que estoy utilizando para generar las tablas:
controlador
[HttpGet]
public virtual ActionResult Index(string filter = "", int? page = null)
{
page = page ?? 1;
filter = filter.Trim().ToLower();
int pageSize = Properties.Settings.Default.DefaultSPPageSize;
int skipNum = (page.Value - 1) * pageSize;
IQueryable<SamplePoint> spList;
var points = new HashSet<string>(Settings.Default.SamplePointFilter.Split(','));
if (filter != "")
spList = db.SamplePoints.Where(e=>
points.Any(p=> e.Id.StartsWith(p))
&& e.Id.ToLower().Trim().StartsWith(filter.ToLower()))
.OrderBy(o => o.Id);
else
spList = db.SamplePoints.Where(e =>
points.Any(p => e.Id.StartsWith(p))
&& e.Id.Trim().StartsWith(filter)).OrderBy(o => o.Id);
List<SamplePoint> pageItems;
if (page != 0)
{
pageItems = spList.Skip(skipNum).Take(pageSize).ToList();
}
else
{
pageItems = spList.OrderBy(o=> o.Id).ToList();
}
int _totPages = Convert.ToInt32(pageSize > 0 ? Math.Ceiling(((double)spList.Count()/(double)pageSize)) : 0);
var vModel = new SamplePointListViewModel(pageItems, filter) { LocationList = FilterListItems, TotalPages = _totPages, CurrentPage = page.Value };
return View(this.IsExcelRequest() ? MVC.Reports.Views.Excel.SamplePointList : MVC.Reports.Views.SamplePointList, vModel);
}
¿Se está conectando a la misma base de datos? –
sí, es la misma base de datos una vez que en el servidor interrumpe el pedido aunque está tirando de los registros tomados sin ordenarlos primero –
está ordenando por ID puede verificar si los ID son los mismos en el servidor y la máquina de desarrollo? – keshav