C# Web 服务路由控制器到已定义 URL
C# Web Services Routing Controller to Defined URL
我是 C# 的新手,致力于一点 Spike。我已经构建了一些 POCO OWIN 自托管服务,并正在尝试创建一个控制器,但各地的指南和文档似乎都指向了错误的方向。
我正在将默认映射添加到启动中的配置方法 class。然后在我的控制器中我有一个简单的 GET 方法。这就像一个魅力,当我使用我的启动路由中定义的 url 向它发送请求时,该方法被调用。但现在我需要设置第二个方法以供新 url 调用。
我不明白我错过了什么,我不明白什么,但我尝试的一切都不适合我:
控制器中的相关代码:
// GET api/ManagedService
public string[] Get()
{
Start();
return new string[]
{
"Job Processed."
};
}
我启动时的相关代码class:
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" 似乎有点误导,因为您除了一条文本说您没有得到任何回复启动了一些其他进程。
我是 C# 的新手,致力于一点 Spike。我已经构建了一些 POCO OWIN 自托管服务,并正在尝试创建一个控制器,但各地的指南和文档似乎都指向了错误的方向。
我正在将默认映射添加到启动中的配置方法 class。然后在我的控制器中我有一个简单的 GET 方法。这就像一个魅力,当我使用我的启动路由中定义的 url 向它发送请求时,该方法被调用。但现在我需要设置第二个方法以供新 url 调用。
我不明白我错过了什么,我不明白什么,但我尝试的一切都不适合我:
控制器中的相关代码:
// GET api/ManagedService
public string[] Get()
{
Start();
return new string[]
{
"Job Processed."
};
}
我启动时的相关代码class:
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" 似乎有点误导,因为您除了一条文本说您没有得到任何回复启动了一些其他进程。