我有一个带有webClient和webAPI的单页面应用程序。当我去一个有表格的视图时,我的表格没有被更新。实际上,只有在应用程序启动时才会调用API,即使它每次都会被调用,或者我期望发生的事情。Rest API并不总是被调用
服务代码 -
function getPagedResource(baseResource, pageIndex, pageSize) {
var resource = baseResource;
resource += (arguments.length == 3) ? buildPagingUri(pageIndex, pageSize) : '';
return $http.get(serviceBase + resource).then(function (response) {
var accounts = response.data;
extendAccounts(accounts);
return {
totalRecords: parseInt(response.headers('X-InlineCount')),
results: accounts
};
});
}
factory.getAccountsSummary = function (pageIndex, pageSize) {
return getPagedResource('getAccounts', pageIndex, pageSize);
};
API控制器 -
[Route("getAccounts")]
[EnableQuery]
public HttpResponseMessage GetAccounts()
{
int totalRecords;
var accountsSummary = AccountRepository.GetAllAccounts(out totalRecords);
HttpContext.Current.Response.Headers.Add("X-InlineCount", totalRecords.ToString());
return Request.CreateResponse(HttpStatusCode.OK, accountsSummary);
}
我可以跟踪到服务,但它不会打在控制器一个破发点。
您确定您的后续调用不是简单地被缓存,因此在第一次请求后从未击中控制器?尝试在控制器端添加[这组响应头](http://stackoverflow.com/a/2068407/752918),看看它是否有任何作用。 –
何时调用'factory.getAccountsSummary'函数? – mrodrigues
在控制器的Init()上调用了factory.getAccountsSummary。 – Craig