Si un autre site Web effectue un POST sur mon site ASP.NET MVC 2, comment puis-je le capturer? Ai-je besoin de faire quoi que ce soit sur les routes?ASP.NET MVC-2 Comment pouvez-vous recevoir un POST d'un autre site?
par exemple l'autre site ne présente:
string url = "https://mvc2-site.com/TestReceive"; // that's my site's controller action
NameValueCollection inputs = new NameValueCollection();
inputs.Add("SessionId", "11111");
System.Net.WebClient Client = new WebClient();
byte[] result = Client.UploadValues(url, inputs);
Comment puis-je recevoir que le POST sur mon site? J'ai essayé:
public ActionResult TestReceive(FormCollection fc) {} // doesn't get hit
public ActionResult TestReceive(string SessionId) {} // method gets hit but session id is null
public ActionResult TestReceive()
{
var param = ControllerContext.RouteData.Values["parameter"].ToString(); // Values["parameter"] is null
}
Je ne contrôle pas l'autre site et il doit être un POST (pas un webservice ou quoi que ce soit d'autre)
Comme une autre tournure ils postent autour de 10 variables, mais certains sont facultatifs , donc ils peuvent ne pas être dans les données POST.
Correction d'une faute de frappe - l'autre site utilise l'URL correcte http://mvc2-site.com/Controller/TestReceive –
Avez-vous réussi à utiliser WebClient avec 2 params? Je ne peux pas obtenir la chaîne publique Index (chaîne inputSegments, chaîne cmdSubmit) workingusing TheWebClient.UploadValues () – VinnyG