c# Web服务路由控制器到定义的URL
本文关键字:定义 URL 控制器 Web 服务 路由 | 更新日期: 2023-09-27 18:15:32
我是c#新手,致力于一点Spike。我已经建立了一些POCO OWIN自托管服务,并试图创建一个控制器,但指南和文档无处不在,似乎指向我在错误的方向。
我将默认映射添加到启动类中的配置方法中。然后在我的控制器我有一个简单的GET方法。当我使用在启动路由中定义的url向它发送请求时,这个方法就会被调用。但现在我需要设置由新url调用的第二个方法。
我不知道我错过了什么,我不明白什么,但我所做的一切都不对我起作用:
控制器中相关代码:
// GET api/ManagedService
public string[] Get()
{
Start();
return new string[]
{
"Job Processed."
};
}
我的启动类中的相关代码:
HttpConfiguration config = new HttpConfiguration();
config.EnableCors();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/start"
);
在访问api/{controller}/start时我调用了get但是我想用api/{controller}/receiptandsend调用一个不同的方法
我不是100%确定我明白问题是什么,但试着把你的routeTemplate改为"api/{controller}/{action}"。你正在使用的routeTemplate假定你在每个控制器上都有一个名为start的操作(方法)。或者,你可以尝试添加另一个路由,如name: "anotherOne", routeTemplate: "api/{controller}/receiptandsend",但我不认为这是真正正确的方式。
编辑:顺便说一下,你的Get方法可能应该被命名为其他东西,像StartJob或其他东西,"Get"似乎有点误导看到你没有得到任何东西,除了一个文本说你启动了一些其他进程。