我写了一些WCF服务,用于开发&调试目的我作为自托管运行。现在我已经有了一个Web服务器了,我正在考虑是否有任何理由将我的服务更改为在IIS 7下运行...如果是这样,如何?..为什么/如何将自托管的WCF服务迁移到IIS7?
3
A
回答
4
MSDN有一篇文章探讨了不同的WCF hosting模型。下面是它不得不说的自我托管:
以下是优点自托管:
- 易于使用:由于只有几行代码,你有你的服务运行。
- 灵活:您可以通过ServiceHost的Open()和Close()方法轻松控制服务的生命周期。
- 易于调试:调试托管在自托管环境中的WCF服务可提供熟悉的调试方式,而无需附加到激活服务的单独应用程序。
- 易于部署:通常,部署简单的Windows应用程序就如同xcopy一样简单。您不需要在服务器场中使用任何复杂的部署方案等,以部署一个简单的Windows应用程序,该应用程序充当WCF ServiceHost。
- 支持所有绑定和传输:自托管并不限制您开箱即用的绑定和传输任何内容。在Windows XP和Windows Server 2003上,IIS仅限于HTTP。
以下是自托管的缺点:
- 数量有限:服务应用程序正在运行,只有当到达。
- 有限功能:自托管应用程序对高可用性,易管理性,健壮性,可恢复性,版本控制和部署方案的支持有限。至少,开箱即用的WCF不提供这些功能,因此在自主托管的场景中,您必须自己实现这些功能;例如,IIS在默认情况下提供了其中一些功能。
1
如果未中断: )
严重:不要在IIS中执行net.tcp WCF。为您节省很多头痛。 HTTP WCF应该没问题。
1
我会考虑使用VS2010的“WCF服务应用程序”项目模板创建一个新项目。你甚至可以参考你想要的原始程序集。要点是,如果使用该模板,VS2010会显示一个新的工具栏,允许您发布到IIS服务器,该服务器完成创建正确配置文件和文件夹的所有“艰苦工作”。
1
好的建议。以下是我用于将自承载到IIS托管的确切步骤:
步骤1:创建.NET Framework 4 WCF服务应用程序
步骤2:将引用添加到WCF DLL。
步骤3:右键单击Service1.scv(自动生成)并选择“查看标记”应该如下所示:代码<%@ ServiceHost Language =“C#”Debug =“true”Service =“WcfService4.Service1”CodeBehind =“Service1.svc.cs”%>代码。
第4步:替换“...Service1“与DLL的服务相关联,删除标签CodeBehind =”Service1.svc.cs“
步骤5:右键点击解决方案,发布到你的服务器/页面启用”标记为IIS ...“
第6步:打开yourserver/yourpage/Service1.scv
相关问题
- 1. 在IIS7中托管WCF服务
- 2. 如何将本地WordPress网站迁移到托管服务器?
- 3. 为什么要从IIS6迁移到IIS7?
- 4. WCF服务自托管
- 5. 自我托管wcf服务
- 6. 如何诊断IIS7托管的WCF服务中的W3WP.exe错误
- 7. 为什么你会在Windows服务中托管wcf服务?
- 8. 如何在IIS7中托管WCF数据服务(OData)?
- 9. iis7托管wcf服务:避免将dll放在system32文件夹
- 10. 将WCF从自托管移植到IIS/AppFabric托管
- 11. 托管WCF服务
- 12. 如何从IIS7中承载的另一个WCF服务评估Windows服务托管的WCF服务?
- 13. 与自托管的WCF服务
- 14. InstanceContextMode自我托管的WCF服务
- 15. 自我托管的WCF服务
- 16. Mono中自行托管的WCF服务
- 17. 为什么我的Winforms托管WCF服务单线程?
- 18. 将wordpress从家庭web服务器迁移到web服务器托管帐户
- 19. 在IIS7中托管WCF服务的问题
- 20. IIS7找不到X.509证书,尽管自托管WCF可以
- 21. 从VS2008迁移到VS2010的WCF服务
- 22. 自我URL映射托管WCF服务
- 23. 自我 - 托管WCF服务器和SSL
- 24. Windows服务“自我托管”WCF:压缩?
- 25. 更新IIS自动托管WCF服务
- 26. 多个WCF服务(自己托管)
- 27. 自托管WCF数据服务认证
- 28. 有人有一个为什么我会自我托管WCF服务的例子
- 29. Windows服务托管的TCP WCF服务
- 30. 将ASMX服务迁移到WCF服务 - AJAX Post
+1感谢net.tcp提示。我使用net.tcp,并且我的生活中可以使用更少的头痛!) – 2011-03-22 13:24:17
什么是特定的头痛你在IIS中使用了net.tcp WCF吗? – 2015-09-01 16:57:56
@Oren你在问我答案后的4年中问这个问题吗?我们只是说很多应该工作的东西没有用,或者只有一些时候。 .Net和IIS的版本已经改进了它... – 2015-09-01 20:54:46