2012-04-03 2 views
0

Grundsätzlich, wenn ich eine Methode (oder mehrere Methoden) habe, die ich für mehrere Anwendungen verfügbar machen möchte, was ist der beste Weg, um diese über eine jQuery Ajax Anfrage aufrufbar zu bekommen? Ich würde lieber vermeiden, dass ich diese Methoden kopieren und in eine ASHX oder etwas irgendwo in jedem Projekt einfügen muss, das die Funktionalität erfordert.Kann eine Ajax-Anfrage an eine Methode in einer Klassenbibliothek gestellt werden?

Zum Beispiel habe ich eine Methode, die eine Stadt und Staat basierend auf der Postleitzahl nachschlägt. Ich möchte diese Methode von einer gemeinsamen DLL aufrufen und muss nicht die Methode kopieren oder eine Methode hinzufügen, die den Aufruf der DLL einfach in jedes Projekt umschließt, das die Suchfunktion benötigt.

Sollte ich irgendeine Art von generischen "Dienstprogrammen" Web-Service haben? Das scheint auch ein hackischer Ansatz zu sein, da es sich nicht wirklich um einen Webdienst handelt, der eine API bereitstellt, sondern lediglich eine Gruppe häufig verwendeter Methoden.

Dies ist mit ASP.NET WebForms, nicht MVC.

Antwort

2

Auch mit dem Web-Service müssten Sie den Code kopieren, um diesen Dienst von jeder Anwendung aus aufzurufen. Ich würde denken, dass das gleiche mit dem MVC-Anwendungsansatz stimmt, bin mir aber nicht sicher.

Für mich würde ich nur eine gemeinsame DLL (oder Dienst je nach Anforderungen) verwendet. Ja, Sie müssten den Code kopieren, um diese DLL von jeder App aus aufzurufen, aber ich denke, das vereinfacht das, was Sie zu tun versuchen. So neige ich dazu, gewöhnliche Bibliotheken trotzdem zu betrachten.

0

Nun gibt es eine Bibliothek mit dem Namen AjaxPro .. aber es ist ein bisschen veraltet =/

0

Wenn Sie beabsichtigen, streng jQuery Ajax-Methode zu verwenden, einfach wickeln, welche Klasse mit MVC-Anwendung, z.B. Daher würde jede Controller-Aktion jede Methode aufrufen, die mit dem JSON-Ergebnis arbeitet.

+0

Ist das der einzige Weg? Es ist ein interessanter Gedanke, aber das Erstellen einer ganzen MVC-Anwendung für gemeinsam genutzte Dienstprogramme scheint ein schlechterer Hack zu sein als das Erstellen eines Webdienstes! –

+0

Nein, natürlich nicht. Aber es war der effizienteste Weg für mich, weil ich diese Funktion der MVC-App hinzufügen musste, die bereits existierte. –

+0

Ah okay. Ich bin gezwungen, mit WebForms zu arbeiten, also habe ich nicht einmal den Luxus von MVC ;-) –

Verwandte Themen