Asp.net mvc 4 如何从控制台应用程序访问Web API中的不同方法?

Asp.net mvc 4 如何从控制台应用程序访问Web API中的不同方法?,asp.net-mvc-4,routing,asp.net-web-api,Asp.net Mvc 4,Routing,Asp.net Web Api,当我的控制台应用程序中有多个get、post和delete方法时,我如何在我的webapi中访问我的方法?如何区分它们?这是我的api控制器 public IQueryable<Store> GetAll() { return StoreRepository.All; } //GetAll Stores including all relation tables publ

当我的控制台应用程序中有多个get、post和delete方法时,我如何在我的webapi中访问我的方法?如何区分它们?这是我的api控制器

            public IQueryable<Store> GetAll()
    {                     
        return StoreRepository.All;
    }
    //GetAll Stores including all relation tables
    public IQueryable<Store> GetAllIncluding()
    {                   
        return StoreRepository.AllIncluding();
    }

    //Get store by id/id=5
    public Store Find(long storeid)
    {
        stores = StoreRepository.Find(storeid);
        return stores;
    }

    //Insert or Update Store
    public void InsertorUpdateWithGraph(Store store)
    {
        StoreRepository.InsertOrUpdateWithGraph(store);
    }

    //Insert or Update StoreDetail
    public void InsertOrUpdateStoreDetail(StoreDetail storedetail)
    {
        StoreRepository.InsertOrUpdateStoreDetail(storedetail);
    }

    //Get StoreDetail by id/id=5
    public StoreDetail FindStoreDetail(long storedetailid)
    {
        storedetail = StoreRepository.FindStoreDetail(storedetailid);
        return storedetail;
    }

     public List<StoreDetail> GetAllStoreDetails(long storedetailid)
    {
        List<StoreDetail> storedetails = StoreRepository.GetAllStoreDetails(storedetailid);
        return storedetails;
    }
      public Sage FindSage(long sageid)
    {
        return StoreRepository.FindSage(sageid);
    }
public IQueryable GetAll()
{                     
返回存储库。全部;
}
//GetAll存储,包括所有关系表
公共可查询的GetAllIncluding()
{                   
return StoreRepository.AllIncluding();
}
//按id获取存储/id=5
公用存储查找(长存储ID)
{
stores=StoreRepository.Find(storeid);
退货商店;
}
//插入或更新存储
public void InsertorUpdateWithGraph(存储)
{
StoreRepository.InsertOrUpdateWithGraph(store);
}
//插入或更新StoreDetail
public void InsertOrUpdateStoreDetail(StoreDetail StoreDetail)
{
StoreRepository.InsertOrUpdateStoreDetail(storedetail);
}
//按id获取StoreDetail/id=5
public StoreDetail FindStoreDetail(长storedetailid)
{
storedetail=StoreRepository.FindStoreDetail(storedetailid);
返回详细信息;
}
公共列表GetAllStoreDetails(长storedetailid)
{
List storedetails=StoreRepository.GetAllStoreDetails(storedetailid);
退货详情;
}
公共Sage FindSage(长sageid)
{
returnstorerepository.FindSage(sageid);
}
像这样,我可能有两个以上的get、post、insert或update方法我必须从我的控制台应用程序访问这些方法我如何映射我想要的方法,这里有人可以帮助我如何定义这些方法的路由你可以有多个“get…”操作,您可以不使用
HttpGet
属性,因为它们以“get”开头。“查找…”方法需要用
HttpGet
那些“插入…”需要用
HttpPost
HttpPut
属性来修饰。 这些方法的参数可以通过两种方式配置。您可以将像
{id:“ddd”,name:“nnn”}这样的对象发布到像

MyAction(int id, string name) 
Web APi框架威胁以Post…、Delete…、Get…、Put…开头的任何方法。。。作为相应的Http动词。但是,您可以用自己的方式命名它们,然后用Http属性装饰它们

当涉及到参数时,它是关于控制器动作与路由的关联

现在,要从控制台应用程序运行它,您可以使用
HttpClient

     string _webSiteUrl = "www.ffsdfds.com"
     HttpClient client = new HttpClient();
     client.BaseAddress = new Uri(_webSiteUrl);
     client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // for posting
     HttpResponseMessage resp = httpClient.GetAsync("/api/area/getall").Result;