В любом случае я не могу получить доступ к каким-либо методам из моего 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, и он выдает «No Response»