1

在 WCF webhttp 项目上工作,并且对路由组合中的参数有疑问。

我有两个服务 - 项目服务(允许用户添加和查看项目)和一个项目服务,允许用户查看项目内的项目。一个项目中可以有多个项目。

我想要表单的网址

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

4

1 回答 1

1

只是一个建议:

  • 您可以创建一个名为的控制器,例如:“ProjectController”。
  • 向它添加方法,这将调用您的服务,例如:

    • 一个。添加项目()
    • 湾。AddItem(int projectID)
    • C。GetItem(int projectID, int ItemID)

你几乎可以按照你想要的方式调用它们:

本地主机//项目//添加项目

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

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

于 2011-01-27T19:54:37.077 回答