2011-08-18 68 views
0

我很快就要建立一个网站,我从来没有这样做过。我有编码原生应用程序的经验,但不是web应用程序Asp.net vs任何网络服务?

我在想,我的网站(非常简单的网站),将只使用jQuery问一个Web服务,它需要的数据。我打算用ASP.Net做服务器端,但后来我想:“为什么?”

现在,我敢肯定是有原因的使用Asp.Net,但我不能想到一个。我的全部目的是在客户端显示一些数据。我能不能用jQuery和Web服务调用来做到这一点?

记住我与ASP.Net没有经验

感谢

+0

可以使用ASP.NET托管的Web服务。显然还有很多其他技术可以承载Web服务。 – Paparazzi

+0

是的,但为什么我会选择ASP.Net? – Jason

回答

2

是的,你可能拥有一个服务器上的纯HTML文件,使用户使用像JSON或XML作为jQuery的请求的Web服务您中。

虽然使用了一堆意大利面条的在你的代码$.ajax(options)调用可能成为累赘。我并不沉迷于前端开发,因此我尝试通过使用较重的后端ASP.NET或ASP.NET MVC应用程序来限制我的应用程序所需的这些调用的数量。但是,您始终可以进入JavaScript原型并创建自己的前端库来处理业务/视图对象。

您的服务可以实现为ASMX Web服务或使用WCF。后者可以自行托管,托管在Windows服务中(听起来您可能已经熟悉了),甚至可以在IIS中使用。 WCF为您定义端点提供了更多的灵活性。这只是意味着你可以编写一次代码,并且可能编写轻量级过滤器来修改请求端点的数据。例如。一个网站可能需要表格格式的数据(数组的JSON数组),而一些未来的服务可能只需要列出数据。

当然,你不仅限于jQuery。假设你有一个有组织的后端,那里有许多完全具备处理前端的JavaScript库/框架。仅举几例,Backbone.js的,spine.js,KnockoutJS(重前端应用程序)

+0

感谢您的回答,后续跟进:我可以像在任何Windows服务应用程序中一样实现我的wcf服务,为什么我会使用asp.net托管它? – Jason

+0

@Jason如果您在IIS(作为Web应用程序)中托管它,您将获得IIS *的所有优势,例如进程回收,空闲关闭,进程运行状况监视和基于消息的激活。*这些选项仅从http ://msdn.microsoft.com/en-us/library/ms733766.aspx –

0

我不会用jQuery的要求在您的应用程序的一切。除了其他原因之外,还有一些情况下回传对于性能是可取的。在客户端做所有事情不是一个好主意,因为它会增加不必要的限制。有时候,在后台代码中处理服务器端的东西显然更容易。你只需要保持适当的平衡。

如果您的应用程序很简单,我也没有看到任何合并Web服务的理由。如果你正在构建一个企业级的应用程序,那么它是有道理的,但对于像你所描述的那样简单的事情来说,这将是一个重大的矫枉过正。

经验法则是:设计您的需求,不要让你的架构复杂得多,它需要的。

1

除非报告是出奇的简单和小(无需分页),你仍然想一个中间层。

就个人而言,如果你有机会到asp.net的MVC,我会走这条路。我的jQuery的粉丝也,所以我仍然会用它来呈现网格:

http://www.trirand.com/blog/?page_id=5

+0

谢谢我喜欢你链接到的jQuery网格 – Jason