我创建了一个ASP.NET Webforms Web应用程序,它基本上通过jQuery.ajax方法隐藏了代码。
现在,我被同事建议编写我的自定义Web服务器来处理页面并使用页面上的javascript与该Web服务器进行交互;这样,我就可以将我的业务逻辑放在我创建的Web服务器上,并有效地加快速度。 (与使用IIS或ASP.NET Development Server相比)。
基本上,我对这种方法一无所知 如果有人告诉我编写自己的Web服务器的优缺点以及它对我的自定义场景中数据传输速率的影响,我会很高兴。
答案 0 :(得分:2)
不要那样做。
IIS很快。没有理由相信你能够自己编写服务器,这要快得多。自定义Web服务器将添加完全零附加值,但它将花费您一些开发时间来实现。你将不得不担心安全,维护等。
如果您不需要ASP .NET页面的开销,那么在IIS中托管的WCF服务,或者只是简单的简单IHttpHandler就是不错的选择。我相信,如果没有自定义Web服务器,您可以克服性能问题。
尝试衡量花时间。例如,首先测量服务器端执行时间。然后测量传输时间(例如,使用Fiddler)。哪一个花时间?如果你在客户端做了很多工作(比如处理收到的数据),那也可能是造成延迟的原因。
答案 1 :(得分:1)
<强> PRO:强> 您可以将Web服务器剥离到您需要的关键部分,而不会产生应用程序不需要/使用的所有内容的开销。
缺点:
您将不得不重新发明使用现有Web服务器免费获得的许多内容。例如,身份验证,加密,解析请求,制定响应,管理端口等。
所有这些时间都花在与实际发展目标相关的事情上。除非您打算在很多项目上重复使用此Web服务器,否则会浪费宝贵的开发时间。
您之前已经构建了一个Web服务器吗?您是否确定比已经存在且由整个开发团队构建的主要工作做得更好?你确定它会更快吗?是否会比数以百万计的网络用户(如IIS或Apache)测试的东西少一些?
答案 2 :(得分:0)
最大的CON:您必须重新发明现有Web服务器平台已经经历的所有错误和安全漏洞。你有多少时间花在处理与安全相关的编码问题上?