Czy istnieje kod C#, który pobiera istniejący kontroler, analizuje jego publiczne metody działania i generuje klasę proxy JavaScript, aby można ją było łatwo wywołać za pomocą innego kodu JavaScript? Wiem już, że możemy użyć jquery do wykonania $ .post i $ .get, aby wywołać nasze usługi ajaxowe, ale uważam, że proces można uprościć, nie określając względnego adresu URL usługi WWW AJAX i nazwy parametru dla każdego z nich. wprowadzenie parametrów.Czy istnieje projekt, który automatycznie generuje kod JavaScript w celu wywołania metod działania ASP.NET MVC?
Na przykład, załóżmy, że mamy następującą C# kontroler:
public class CustomerController : Controller
{
public JsonResult Create(string name, string address)
{
return new JsonResult {Data = 11111};
}
public JsonResult Update(int id, string name, string address)
{
return new JsonResult {Data = true};
}
}
chciałbym wywołania AJAX metod działania sterownika za pomocą następujący sposób.
Proxy.Customer.Create("Scott Gu", "Somewhere in Redmond").done(function(id) {
/* id is an int and not an string */
Proxy.Customer.Update(id, "Scott Gu", "Somewhere in Seattle");
});
Czy istnieje projekt, który pozwoli mi to zrobić?
Aktualizacja
okazuje się, że nie ma projekt, który robi to, co prosiłem. Coś, co mogłoby być użyteczne, oprócz SignalR, to projekt kontrolera Phila Haacka. Może sprawdzać dowolny kontroler i ujawniać, jaką ma metodę działania, parametry, które akceptuje, ich typy itp.
Poniższy link zawiera metodę gettera do pobierania szczegółowych informacji o danym kontrolerze. https://github.com/Haacked/CodeHaacks/blob/master/src/MvcHaack.ControllerInspector/ControllerDetailer.cs
Aktualizacja 2
Doh. Phil Haack opracował już serwer proxy JavaScript. Tutorial można znaleźć here.
Wygląda na to masz jedyną i najlepszą odpowiedzią na to pytanie. Widziałem wcześniej SignalR i jest świetny, ale po prostu nie sądzę, żeby jego produkcja była gotowa. Spróbuję wyodrębnić kod z SignalR. Dzięki! – burnt1ce