Aucune action n'a été trouvé sur le contrôleur qui correspond à la demande

Veuillez excuser mon ignorance dans ce domaine. J'ai lu beaucoup de threads et ne peut toujours pas obtenir mon routage correct.

J'ai un contrôleur produits comme ceci:

public class ProductsController : ApiController
{
    [ActionName("GetListOfStudents")]
    public static List<Structures.StudentInfo> GetListOfStudents(string Username, string Password)
    {
        List<Structures.StudentInfo> si = StudentFunctions.GetListOfStudents(Username, Password);
        return si;
    }
}

J'ai une console de programme de test où j'ai défini la route:

config.Routes.MapHttpRoute(
name: "ApiByAction",
routeTemplate: "api/products/GetListOfStudents",
defaults: new { controller = "products", action = "GetListOfStudents" });

Mais quand je lance l'appel

GET http://localhost:8080/api/Products/GetListOfStudents

Je reçois le message d'erreur:

MessageDetail=No action was found on the controller 'Products' that matches the name 'GetListOfStudents'.

J'ai été en tirant sur mes cheveux et ne peut pas travailler sur la bonne route devrait être.

Tout type de soins de la personne pour m'aider?

Vous ne devez jamais envoyer le mot de passe! C'est dangereux parce que eavesdropperse de le lire. Et si vous passez le long d'un lien profond, vous êtes loin de donner votre mot de passe. Voir mon comment au-dessous de la a accepté de répondre pour voir comment résoudre ce problème.
En passant le mot de passe est bon si c'est sur https. Comment pensez-vous que les formulaires de login de travail?
les formulaires de login ne passe pas le mot de passe dans l'URL, mais plutôt qu'ils affichent le mot de passe comme une partie du corps. Il y a plusieurs problèmes avec l'envoi du mot de passe dans l'URL (même sur https), y compris la tenue de l'utilisateur mot de passe dans le non garantis historique du navigateur, par inadvertance, le partage de l'utilisateur mot de passe s'ils partagent la page, et d'avoir le mot de passe sont éparpillées sur les journaux de serveur et les caches, entre autres.
Ouais j'ai été à la hâte avec ma réponse, n'a pas vraiment d'avis a été transmise dans l'URL - je viens de lire le commentaire de "ne jamais envoyer le mot de passe" et qu'il était confus. Merci de remarquer mon erreur.

OriginalL'auteur Trevor Daniel | 2014-04-07