параметры в сервисном маршруте - PullRequest
1 голос
/ 25 января 2011

Работал над проектом WCF webhttp и имел вопрос о параметрах в составе маршрута.

У меня есть две службы - Служба проектов (которая позволяет пользователю добавлять и просматривать проекты) и Служба элементов, которая позволяет пользователям просматривать элементы внутри проекта.В одном проекте может быть несколько элементов.

Я хотел бы иметь URL-адреса вида

localhost//projects//addproject

localhost//projects//{projectid}//item//additem

localhost//projects//{projectid}//item//getitem//{itemid}

У меня естьдва сервиса ItemService и ProjectService.Itemservice имеет методы additem и getitem Projectservice имеет методы addproject

Как мне объявить эти службы в моих глобальных маршрутах?Я попытался

RouteTable.Routes.Add(new ServiceRoute("projects/{projectid}/item", new WebServiceHostFactory(), typeof(ItemService))); Это дает мне ошибку

Я могу добавить весь код в ProjectService, но я для удобства сопровождения кода, я хотел бы иметь и ProjectService и ItemService

1 Ответ

1 голос
/ 27 января 2011

Просто предложение:

  • Вы можете создать контроллер с именем, скажем: "ProjectController".
  • добавить к нему методы, которые будут вызывать ваши службы, скажем:

    • а. AddProject () * * 1 010
    • б. AddItem (int projectID)
    • с. GetItem (int projectID, int ItemID)

и вы можете называть их почти так, как хотите:

локальный // Проект // AddProject

локальный // Проект // AddItem // {ProjectID}

локальный // Проект // GetItem // {ProjectID} // {Itemid}

...