asp.net – .NET应用程序服务器与Java应用程序服务器之间的差异
我想更好地理解.NET的应用服务器模型与大多数
Java应用服务器使用的原因相比的原因.
在大多数情况下,我见过ASP.NET Web应用程序,业务逻辑托管在Web服务器的asp.net主机进程中.另一种常见方法是拥有一个物理或逻辑上不同的层,它承载您的业务对象,然后作为Web服务公开或通过WCF等机制访问.后一种方法通常但并不总是在需要更高规模时使用.在COM对象的时代,我见过Microsoft Transaction Server(MTS)和后来的COM托管用于托管包含业务逻辑的COM对象,MTS(理论上)管理对象生存期,事务,并发yada yada.这个模型似乎在ASP.NET领域似乎已经消失了. 在Java世界中,您可能将Apache与Tomcat一起作为servlet容器,并将业务对象托管在Tomcat中.在这种情况下,Tomcat提供与MTS在.NET世界中提供的功能类似的功能. 几个问题: >为什么Microsoft与Java方法的根本区别在于应用程序服务器?在创建这些框架时,这必须是架构/设计选择. 解决方法
就我的思维方式而言,主要区别在于“开放”方法与“集成堆栈”方法.微软喜欢将所有内容都作为一个集成堆栈提供,所有这些都具有共同的风格和方法Java对“自带x”模型更友好,您可能希望插入您喜欢的应用程序服务器,事务管理器等.两个技术堆栈都允许进程内调用以及具有不同级别的事务支持的远程调用.
实际上,WCF不是一个新技术堆栈,而是对.NET堆栈现有元素的重组和重塑.具体来说,WCF承担了.NET Remoting,Web服务和分布式事务的功能. 您可以引用“更常见的当前方法,即将业务对象作为Web服务器的ASP.NET进程的一部分.”这仅适用于非分布式应用.这是一个简单的模型,当所有对象都驻留在同一台服务器上时,它运行良好.这遵循微软的“横向扩展”部署模型.不是跨服务器隔离对象层,而是将除数据库之外的所有内容放在Web服务器上,然后逐步添加相同的冗余服务器以扩展Web服务器层. 最近,微软一直在努力推动面向服务的体系结构,后者更依赖于WCF和远程调用.这被视为云战略的关键,人们将部分或全部应用程序迁移到云中的灵活资源(MS希望通过Azure等托管). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – Web API和AngularJS SPA应用程序的身份验证
- 如何在ASP.NET MVC4 Web API中捕获未定义的api方法调用
- asp.net-mvc – ASP.NET MVC将数据从视图传递给控制器
- asp.net – 在VS 2010中发布到Azure时出错 – 对象引用未设
- asp.net-mvc – 为MVC3 DateTime设置DataFormatString
- 中国象棋(网络版) 转载
- asp.net – .Net Core 2.0 – 获取AAD访问令牌以与Microsof
- ASP.NET会话超时测试
- asp.net-mvc – 路由测试ASP.NET MVC4
- asp.net – 尝试设置此报告中未定义的报告参数“名称”?
- 用Middleware给ASP.NET Core Web API添加自己的授
- asp.net – Service Fabric中的.NET Core RC2
- asp.net-mvc-2 – 阅读OAuth2.0 Signed_Request
- asp.net-web-api – 无法加载文件或程序集’Syst
- asp.net – 错误BC30456:'[方法]’不是’AS
- asp.net – 如何在DotVVM viewmodel中创建会话变
- asp.net – ‘/’应用程序中的服务器错误.此类页
- 禁用ASP.NET HttpHandler响应缓存
- asp.net – 移动ModalPopup在IFrame之外 可能?
- 使用“正确的”.NET Framework版本