2013-05-20 2 views
1

Я просто не понимаю, что мне нужно задать в качестве имени службы для EntityManager.Каково имя службы для EntityManager в Breeze?

Я хав два контроллера: ApiController и 'нормальный' контроллер:

API Контроллер:

[BreezeController] 
public class TournamentApiController : ApiController 
{ 
    private EFContextProvider<TournamentContext> _contextProvider; 

    public TournamentApiController() 
    { 
     _contextProvider = new EFContextProvider<TournamentContext>(); 
    } 

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

    [HttpGet] 
    public IQueryable<Tournament> Tournaments() 
    { 
     return _contextProvider.Context.Tournaments; 
    } 

    [HttpGet] 
    public IQueryable<Team> Teams() 
    { 
     return _contextProvider.Context.Teams; 
    } 
} 

'Normal' контроллер:

public class TournamentController : Controller 
{ 
    public ActionResult Index() 
    { 
     return PartialView(); 
    } 

    public ActionResult Details() 
    { 
     return PartialView(); 
    } 
} 

И в моем DataSrvice.js файл:

app.dataservice = (function (breeze) { 

breeze.config.initializeAdapterInstance("modelLibrary", "backingStore", true); 

var serviceName = '/TournamentApi'; // What exactly do I need to set here? 

// *** Cross origin service example *** 
//var serviceName = 'http://todo.breezejs.com/breeze/todos'; // controller in different origin 

var manager = new breeze.EntityManager(serviceName); 
// manager.enableSaveQueuing(true); 

var dataservice = { 
    getAllTournaments: getAllTournaments, 
}; 
return dataservice; 

/*** implementation details ***/ 
function getAllTournaments() { 
    var query = breeze.EntityQuery 
      .from("Tournament"); 

    return manager.executeQuery(query); 
} 
})(breeze); 

Может ли кто-нибудь объяснить, что подразумевается под именем службы и, следовательно, что я должен использовать в качестве имени службы?

ответ

0

Имя службы указывает конечную точку службы, маршрут к контроллеру веб-API. Это будет «корень» URL-адреса, который вы используете для связи с сервером. Таким образом, если фактические конечные точки для запроса «команд» и «турниры» являются

http://foo/bar/tournamentApp/teams ... 
http://foo/bar/tournamentApp/tournaments ... 

тогда ваше имя службы будет

"foo/bar/tournamentApp" 
+0

Спасибо. Таким образом, это просто путь к APIController с атрибутом Breeze. – Martijn

Смежные вопросы