根据标题,我只在部署后面临性能问题。它是一个ASP.NET MVC5站点,部署在Azure上。我们正在谈论ms与几秒钟:/
我可以准备视频或任何有助于解决此问题的内容。 没有js错误被遗忘:/
直播,它最终会在7/8秒之后显示..如果不是更长时间。 代码传入...
$(document).ready(function () {
$("#SerialSearch").autocomplete({
autoFocus: true,
//delay: 0,
minLength: 2, // minimum length to trigger suggestions
select: function(e, ui) { // define select handler
//alert(ui.item.value);
//hitting enter key on selected item works, mouse clicking after 609 on V609xxx will submit 609 sadly
//With this I override the problem
$('#SerialSearch').val(ui.item.value);
//alert('here');
$(this).parents('form').submit();
},
source: function (request, response) {
@*var modelDataJSON = '@Html.Raw(Json.Encode(Model))';*@
var check = @Html.Raw(val);
//var modelDataJSON = JSON.stringify(check);
$.ajax({
url: "/Devices/DeviceSearch",
type: "POST",
dataType: "json",
data: { Prefix: request.term, model: check },
success: function (data) {
//alert('success');
response($.map(data, function (item) {
return { label: item.SerialNumber, value: item.SerialNumber };
}))
}
})
}
//messages: {
// noResults: "", results: ""
//}
});
})

cshtml:
@{
ViewBag.Title = "Devices";
Layout = "~/Views/Shared/_Layout.cshtml";
//var val = Json.Encode(Model);
//Using viewdata to load in mem entire device list
var val = Json.Encode(@ViewData["FullDeviceList"]);
}
@using (Html.BeginForm(FormMethod.Get))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<hr />
<div class="form-group">
<div class="col-md-12">
@Html.EditorFor(model => model.SerialSearch, new { htmlAttributes = new { @class = "form-control" } })
</div>
</div>
</div>
}
&#13;
答案 0 :(得分:0)
要做的第一件事是确定问题的根源。 我假设你有自动完成控件的服务器端源,并通过Ajax调用获取数据。在本地(开发站点?)上,Ajax调用的延迟将是最小的。在Azure上,因为主机是远程的,我预计延迟会增加。 (当然,不知道你的实现,这只是推测)