进行http调用时出错:元数据查询失败:

Col*_*lin 5 breeze visual-studio-2015 ionic

我在WebApi 2项目中有一个BreezeController:

[BreezeController]
public class BreezeController : ApiController
{
    private readonly IBreezeRepository _repo;

    public BreezeController(IBreezeRepository repo)
    {
        _repo = repo;
    }

    [HttpGet]
    public string Metadata()
    {
        return _repo.MetaData;
    }

   [HttpGet]
   public IQueryable<Property> Properties()
   {
      return _repo.Properties;
   }
}
Run Code Online (Sandbox Code Playgroud)

我的客户端应用程序使用此代码来使用数据:

var mgr = new breeze.EntityManager({
    serviceName: "http://localhost:24830/breeze/breeze/"
});

EntityQuery
    .from('Properties')
    .select('ID')
    .using(mgr)
    .execute()
    .then(querySucceeded, _queryFailed);

function querySucceeded(data) {
    return data.results;
}

function _queryFailed(error) {
    alert("Error while making http call: " + error.message);
}
Run Code Online (Sandbox Code Playgroud)

当我运行我的应用程序时 - 它是一个移动应用程序,它在Ripple中打开 - 我可以调试到javascript.它运行到_queryFailed方法,我收到此错误消息:

元数据查询失败:http:// localhost:24830/breeze/breeze/Metadata ; 未定义

服务器也在调试器中运行.它没有达到Metadata()方法中的断点.但是,如果我将路径放入浏览器,它会返回MetaData.

我现在可以做些什么来调查这个问题?

编辑 我尝试了不同的东西.我在Visual Studio的不同实例中打开了各个项目(我正在使用VS 2015 RC).我现在点击服务器上的断点,我的客户端进入该querySucceeded功能.如此成功.所以问题就改变了.有没有办法设置我的环境只在一个Visual Studio实例中工作?

Jea*_* F. 1

您是否尝试过手动获取元数据?

function fetchMetadata() {
  var manager = new breeze.EntityManager("api/breeze");
  if (manager.metadataStore.isEmpty()) {
      return manager.fetchMetadata();
  }

  return Q.resolve();
}

function start() {
  fetchMetadata().then(function () {
         // Metadata fetched.
         // Do something here.
  });
}
Run Code Online (Sandbox Code Playgroud)

来源:微风获取元数据(如果不存在)