user275157
user275157

Reputation: 1352

parameters in service route

Working on a WCF webhttp project and had a question on parameters in route composition.

I have two services - Project service (that allows an user to add and view projects) and an Item service that allows the users to view items inside the project. There can be multiple items in a single project.

I would like to have urls of the form

localhost//projects//addproject

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

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

I have twoservices ItemService and ProjectService. Itemservice has the methods additem and getitem Projectservice has the methods addproject

How do I declare these services in my global routes? I tried

RouteTable.Routes.Add(new ServiceRoute("projects/{projectid}/item", new WebServiceHostFactory(), typeof(ItemService))); This gives me an error

I can add all the code to ProjectService but I for maintainability of code I would like to have both ProjectService and ItemService

Upvotes: 1

Views: 653

Answers (1)

Andrei
Andrei

Reputation: 4318

Just a suggestion:

  • you can create a controller called, say: "ProjectController".
  • add methods to it, that will call your service(s), say:

    • a. AddProject()
    • b. AddItem(int projectID)
    • c. GetItem(int projectID, int ItemID)

and you can call them almost the way you want:

localhost//project//AddProject

localhost//project//AddItem//{projectid}

localhost//project//GetItem//{projectid}//{itemid}

Upvotes: 1

Related Questions