.net – 我应该在IIS中托管我的WCF服务吗?
所以我正在设计一个WCF服务.我对WCF没有任何经验,我正在尝试决定是否应该托管在IIS中,还是自定义Windows服务.还是其他一些选项?
需要考虑的事项 >启动时需要从数据库加载数据. 我怀疑在IIS中托管它会简化某些事情,但我不知道在这种情况下会是个好主意. 我的选择是什么,他们的利弊是甚么?
您需要基本看三个选项:
1)在IIS6(Windows Server 2003/2003 R2)中托管:在这种情况下,您只能托管HTTP协议 – 没有其他.这本身就是一个很大的限制,你不能使用例如netTcp用于Intranet方案. 2)在IIS7 / WAS(Vista,Server 2008)中托管):这为您提供了更多的支持协议选项,主机环境首先是获胜者. 3)自主托管:在这种情况下,完全由您自己做任何事情来托管和运行您的服务. 如果现在抛出选项#1(如果只有IIS6可用,我总是使用自主托管),那么IIS7与自主托管相关. IIS7给你“按需激活”,例如您的服务代码始终不在内存中,一旦请求进入,它将被加载和实例化.这可以是一个加号. 另一方面,在IIS7 / WAS中托管可以让您有能力指定自己的端点 – 您的端点,因此服务地址是您的“MyService.svc”文件所在的虚拟目录.你不能以任何方式,形状或形式来改变. 自主托管可能看起来像很多工作 – 但它确实给您最好的灵活性:您可以根据需要选择协议,您可以按照自己喜欢的方式设置自己的寻址方案,并且您可以完全控制什么完成时如果您需要做一些额外的工作来托管服务,您可以介绍自己的ServiceHost,等等. 除非你正在玩WCF一点点,否则我总是建议并投票支持自我托管 – 如果您需要在Windows NT服务(这是生产环境的最佳解决方案)中始终运行WCF服务,如果您正在开发/调试,您可以在控制台应用程序中完全托管您的WCF服务,您可以随时启动和停止. 所以要做一个很长的故事:最后,如果你真的要控制发生了什么,我会永远建议自我托管. 一旦新的“Dublin”Server-Addon出现 – 在.NET 4推出后的某个时候,可能早在2010年早些时候,这可能会发生变化,但现在还不言而喻. 希望这可以帮助. 渣子 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 以编程方式解锁Windows工作站
- 你可以在新的Windows 10(Ubuntu)bash用户空间本地运行Docke
- windows-8 – 使用MVVM Light在Windows 8中实现状态处理
- 将Microsoft SQL Server数据库转储到SQL脚本
- windows-vista – 为什么使用VNC从Vista连接到Snow Leopard
- Windows 电脑的四种运行状态工作状态 (Working), S0 睡眠状
- 想说再见不容易,win7最新市占率依然超36%
- 如何在Windows上可视化GitHub分支历史?
- windows-server-2003 – 可以重命名私有MSMQ队列吗?
- 如果正在使用端口,Windows批处理脚本将打印错误消息