2012-04-03 88 views
0

基本上,如果我有一个方法(或几个方法),我想暴露给多个应用程序,通过jQuery Ajax请求可以调用这些方法的最佳方法是什么?我宁愿避免将这些方法复制并粘贴到ASHX或每个需要该功能的项目中的某处。是否可以向类库中的方法发出Ajax请求?

例如,我有一种方法根据邮政编码查找城市和州。我想从共享DLL中调用此方法,而不必复制方法或添加一个方法,该方法将对该DLL的调用简单地包装到每个需要查找功能的项目中。

我应该有某种通用的“公用程序”Web服务吗?这似乎也是一种骇人听闻的方法,因为它不是真正的提供API的Web服务,而只是一组常用的方法。

这是与ASP.NET WebForms,而不是MVC。

回答

2

即使使用Web服务,您也必须复制代码以从每个应用程序调用所述服务。我认为MVC应用程序方法也是如此,但不确定。

对我来说,我只是使用共享的DLL(或服务取决于要求)。是的,您必须复制代码才能从每个应用调用该dll,但我认为这极大地简化了您尝试执行的操作。无论如何,我倾向于查看公共图书馆。

0

嗯,有一个叫AjaxPro库..但它还挺弃用=/

0

如果你打算使用jQuery的严格阿贾克斯方法,只是包装什么类MVC应用程序,例如因此每个控制器操作都会调用每个使用JSON结果操作的方法。

+0

这是唯一的方法吗?这是一个有趣的想法,但为共享实用程序创建一个完整的MVC应用程序似乎比创建Web服务更糟糕! – 2012-04-03 14:55:58

+0

不,当然不是。但这对我来说是最有效的方式,因为我不得不将这个功能添加到已经存在的MVC应用程序中。 – 2012-04-03 15:05:01

+0

啊好的。我不得不使用WebForms,所以我甚至没有MVC的奢侈;-) – 2012-04-03 15:05:30