电子商务网站:ASP.NET还是ASP.NET MVC?

3

在使用哪个方案时是否有特别的原因,还是最终都只是个人偏好?


1
这是一个起点: https://dev59.com/6XVC5IYBdhLWcg3w7V33 - spinon
3个回答

3
选择自己擅长的技术更为重要,而不是仅仅因为某个技术比另一个技术更聪明而选择它。我们通常根据团队成员的经验和专业知识来决定选择哪种技术。在对于有严格截止日期的项目中,我们不想花费时间钻研新技术。话虽如此,我想提到的是,我们也不是一成不变的保守派,不接受新技术,但是我们有自己采用新技术、标准和方法的过程。如果您之前使用过asp.net webforms,那么我建议您选择webforms而不是mvc,因为您已经熟悉webforms,可以更加自信和及时地交付,并且网络上已经有大量的资源和材料可供使用。同时,在专注于项目的同时,您可以并行地检查和研究asp.net mvc,并开始在asp.net mvc中完成项目的小部分。这是一种很好的过渡方式,因为这样您可以通过比较mvc实现类似事物与webforms的区别来从webforms迁移到mvc。

2
从SEO(搜索引擎优化)的角度来看,对于电子商务网站来说,我会选择ASP.NET MVC,原因如下:
  1. 友好的URL,例如/products/123/ipod-touch-64gb-white-3rd-gen(搜索引擎会使用URL进行排名)。
  2. 完全控制HTML,创建更清晰、更语义化、更结构化的标记以进行更好的SEO。同时没有大量的ViewState和非常长的ID属性=减少页面权重,使页面加载更快,有利于SEO。
  3. 轻量级和更快(部分原因是因为第2点),这有助于页面加载时间(Google已明确表示他们将开始使用页面加载时间作为搜索引擎排名的因素)。用户更喜欢加载速度更快、响应更及时的网站(Amazon.com发现每延迟100ms销售额就会减少1%)。网站性能确实会影响转化率。
虽然可以将ASP.NET WebForms强行改造成上述要求,但是ASP.NET MVC更容易且更自然地适合这样做。如果条件相同,我会选择MVC而不是WebForms,但正如“this.__curious_geek”所说,如果您的团队不具备MVC技能,并且存在时间压力,那么WebForms可能是更好的选择。但是如果时间允许,我建议培训团队学习MVC并提高他们的水平,这并不难,WebForms中的很多内容都可以迁移到MVC中。

2

在这种类型的网站中,Viewstate对于ASP.NET来说是一个真正的问题。它会在每个请求时发送到服务器,即使你使用ajax。

我还发现,与其他合作伙伴(跟踪解决方案、搜索引擎优化器、支付提供商)进行接口更容易。你与HTTP协议更加接近,这使得将其他合作伙伴的要求转换为你的代码更容易。他们不太可能与你讨论postback模型的限制。

我也喜欢在ASP.NET MVC中进行性能测试更容易。因为大多数工具不能处理Viewstate,所以在ASP.NET中工具集非常有限。在ASP.NET MVC中,我使用免费的工具jmeter。

对于高流量的网站,存在一个问题:前端没有甜甜圈缓存。你只能缓存整个页面或什么都不缓存。事实上,这意味着你什么都没有缓存。当然,你仍然可以在后端缓存。

我的经验是:如果你想做一款电子商务网站,那就使用ASP.NET MVC。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接