我的理解是StackOverflow(SO)是使用ASP.NET构建的。让我感到惊讶的是它的设计和设计都很好。在不了解SO内部的情况下,我的观察和有根据的猜测是:
编辑:6。类似Comet的功能:当您输入答案时,如果有任何其他答案,您会收到通知。如果您选择加载它,当然只完成部分页面刷新并且您的答案保持不变。还没有在任何其他ASP.NET应用程序中看到这一点。
所以我的问题:
答案 0 :(得分:8)
使用ASP.NET MVC构建,正如Jeff Atwood及其团队in this podcast organised by Scott Hanselman
所解释的那样倾听播客是值得的。
在播客中透露的关于SO的一个令人惊讶的元素是 SO在单个服务器(IIS& SQL Server)上运行。我很惊讶。
答案 1 :(得分:6)
ASP.NET Forms允许开发人员以与.NET Windows Forms相同的方式构建UI。
整个想法是,知道如何构建“胖客户端”Windows表单的开发人员可以将这些技能转移到ASP.NET表单。 ASP.NET表单甚至允许开发人员将代码放在同一组控件事件上。开发人员不必具备HTML,HTTP,Javascript等知识。
不幸的是,这导致大型POST包含频繁生成的怪物视图状态,因此用户体验不佳。这给了ASP.NET一个糟糕的代表。实际上它的原始ASP.NET Forms 应该有不好的代表。
ASP.NET MVC,其他东西,包含HTTP的本质,而不是试图隐藏它。 AJAX和JQuery也是MVC的特性,它们使整体结果更好。
那说如果没有伟大的视野,设计和技能,拥有一个伟大的工具是无用的,SO团队显然拥有丰富的工具。
答案 2 :(得分:2)
SO是使用ASP.NET MVC构建的。杰夫聘请了优秀的开发人员,有一个良好的愿景,并通过一个真正的设计师运行他的屏幕。
答案 3 :(得分:2)
Orkut.com - 谷歌的社交网站使用ASP.NET
答案 4 :(得分:1)
Myspace.com使用ASP.net,它证明了平台的可扩展性。您还可以通过阅读stackoverflow blog并收听stackoverflow播客来了解stackoverflow本身。
答案 5 :(得分:1)
您指出的许多内容实际上是由于使用了ASP.NET MVC。漂亮的URL开箱即用,非标准的控件,没有任何东西是MVC开箱即用,所以你必须重新发明所有:),最后如果你想做的话,AJAX几乎是ASP.NET MVC的要求任何有智慧的东西。
单独的ASP.NET MVC没有说明使StackOverflow真正成功的事情,这完全取决于想法,执行以及Jeff和Joel在网络上获得巨大追随者的事实。答案 6 :(得分:0)
您还可以在SO上的两个HanselMinutes播客中了解很多关于开发,规划(!)等的内容:
提供多种音频格式,以及转录。
答案 7 :(得分:0)
ASP.NET创建的网站仅受开发人员的限制。
几乎任何框架都可以这样说。
也就是说,Windows Server / IIS / .NET是一个可扩展性极高的概念,因为我们在ASP.NET站点上提供的流量远远超过SO(再次,我们有32台服务器)。
答案 8 :(得分:0)
正如其中一个答案所述,myspace.com使用ASP.NET(据我所知,它是用ColdFusion编写的,并使用BlueDragon for .NET)。
另一个网站是plentyoffish.com(每天点击60M)。
如果您想了解有关可扩展性的更多信息,请参阅http://highscalability.com