【发布时间】:2019-07-26 09:34:10
【问题描述】:
无论如何我都无法从我的 ApiController 访问任何方法,如果我尝试通过浏览器访问它但没有显示任何方法,路由确实会出现。
我的控制器:
namespace AgroRiego.Controllers
{
public class datacontrol : ApiController
{
[HttpGet, Route("api/get")]
public string Get([FromUri]string user, string pass)
{
string check = SQL.Reader("SELECT * FROM users WHERE username='" + user + "' AND password='" + pass + "'");
if (String.IsNullOrWhiteSpace(check))
{
return "error en credenciales";
}
DataTable horarios = SQL.table_read("SELECT * FROM horario_riego");
string json = Utils.ConvertDataTabletoJSON(horarios);
return json;
}
[HttpPost, Route("api/post")]
public void Post([FromBody]string value)
{
string i = value;
}
}
}
我的全球 asax:
namespace AgroRiego
{
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
}
还有我的 webapiconfig:
namespace AgroRiego
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Configuración y servicios de API web
// Rutas de API web
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}
我在项目中有更多的网络表单(最初它只是带有服务器端代码的 html 页面,但我需要添加几个方法来检索和发送数据,非常感谢!
EDIT1:我设法达到 HTTP 200 更改 URL,但我无法访问方法(在调试模式下,它不会在断点处停止)我如何正确路由 Api(所以它不是 Login.aspx ) 以及如何修复到达的方法?
EDIT2:我在文档中读到我需要全局中的这一行:
RouteConfig.RegisterRoutes(RouteTable.Routes);
但我不使用 MVC 有关系吗?我尝试使用全新的 MVC Web Api 到达路线并产生“无响应”
【问题讨论】:
-
澄清一下,您是否尝试将 web api 处理程序添加到现有的 asp .net web 表单项目?
-
事实上我是
标签: asp.net web-services asp.net-web-api asp.net-web-api-routing