Typescript Breeze无法在aspnetcore项目中使用predictate
我正在构建一个ASP.NET核心项目,它使用breezejs和typescript。神秘的是,当我在没有谓词的情况下加载数据时,所有事情都可以正常工作,但是当添加谓词来过滤数据时,会出现一个错误:“500 Internal Server error”。我尝试在控制器中调试,当浏览器发出请求时,它可以到达控制器 但是,在js端,请求没有返回,这意味着js代码无法通过断点Typescript Breeze无法在aspnetcore项目中使用predictate,typescript,breeze,Typescript,Breeze,我正在构建一个ASP.NET核心项目,它使用breezejs和typescript。神秘的是,当我在没有谓词的情况下加载数据时,所有事情都可以正常工作,但是当添加谓词来过滤数据时,会出现一个错误:“500 Internal Server error”。我尝试在控制器中调试,当浏览器发出请求时,它可以到达控制器 但是,在js端,请求没有返回,这意味着js代码无法通过断点 executeQuery(query) { return this.manager .executeQu
executeQuery(query) {
return this.manager
.executeQuery(query.using(breeze.FetchStrategy.FromServer || this.fetchStrategy))
.then(function (data) {
return data.results;//my breakpoint
});
}
控制员:
using System.Linq;
using Microsoft.AspNetCore.Mvc;
using Jumpstart.Web.Data;
using Microsoft.AspNetCore.Authorization;
using Jumpstart.Model;
using Breeze.AspNetCore;
using Newtonsoft.Json.Linq;
using Breeze.Persistence;
namespace Jumpstart.Web.Controllers
{
[Produces("application/json")]
[Route("breeze/[controller]/[action]")]
[BreezeQueryFilter]
public class JumpstartController : Controller
{
private readonly IUnitOfWork _uitOfWork;
public JumpstartController(IUnitOfWork uitOfWork)
{
_uitOfWork = uitOfWork;
}
/// <summary>
/// Get public tenants
/// </summary>
/// <returns>IQueryable tenants</returns>
[HttpGet]
[AllowAnonymous]
public IQueryable<Tenant> Tenants()
{
return _uitOfWork.TenantRepository.All();
}
找到了原因。core(服务器端)只允许json格式谓词,但breeze前端中的默认值不允许 解决办法是:
breeze.config.initializeAdapterInstance("uriBuilder", "json");
找到了原因。core(服务器端)只允许json格式谓词,但breeze前端中的默认值不允许 解决办法是:
breeze.config.initializeAdapterInstance("uriBuilder", "json");
到服务器的请求URL是什么样子的?你能在服务器上设置一个断点来查看那里发生了什么吗?我在控制器中添加了一个断点,它返回了所有数据(与无谓词相同),并且没有错误。我猜是[BreezeQueryFilter]属性,但目前还没有任何线索。到服务器的请求URL是什么样子的?你能在服务器上设置一个断点来查看那里发生了什么吗?我在控制器中添加了一个断点,它返回了所有数据(与无谓词相同),并且没有错误。我在猜测[BreezeQueryFilter]属性,但目前没有任何线索。