Windows Server 2008 R2上的AppFabric用于WCF服务

4
我们目前使用的是Windows Server 2008 R2,IIS 7.5,我们将通过WCF服务公开一些数据。为了实现这一点,我们计划在IIS上托管我们的服务,但我听说这对于WCF服务来说并不是一个好主意。WAS的问题在于它是一个通用的托管引擎,它实际上不知道它是在托管WCF服务还是网站(据我所知)。我听说我们可以安装一个名为Windows Server AppFabric的WAS扩展程序。
1. 有人有AppFabric的经验吗? 2. 我的应用程序是否必须使用所谓的“Service Bus”来使用AppFabric? 3. 我应该继续安装它吗? 4. 最基本的级别,我可以在哪里安装它?需要任何许可证吗?
提前感谢您的帮助。
2个回答

3

我认为使用IIS并不是一个坏主意-许多开发者使用IIS来托管他们的WCF服务。在我看来,你只需要使用你所需要的东西,如果你只需要一个托管框架,那么IIS就是WCF服务的一个非常好的选择。它(几乎)不知道它正在托管WCF服务,但在大多数情况下这并不是一个问题。

Windows Server AppFabric目前提供了三种功能:分布式缓存系统(因此,如果您需要扩展服务,则可以使用此缓存在节点之间共享状态);打包/部署接口(您可以在其中将项目打包并更轻松地部署到IIS中);管理/监视接口(您可以监视运行在计算机上的WCF和Workflow服务实例)。

回答您的问题:

  1. 是的,有些人有经验 :)
  2. 否,应用程序不必使用它。如果您需要其功能(中继),则只需使用ServiceBus
  3. 仅在需要时使用。例如,如果您不需要缓存或监视功能,则可能不需要它。我过去发现,我系统中的组件数量越少,它就越不容易出现故障。
  4. 转到http://msdn.microsoft.com/en-us/windowsserver/ee695849.aspx。据我所知,您不需要任何许可证,但您可以查看下载页面以获取更多信息。

谢谢!在等待答案的同时,我查看了Ron Jacobs制作的一些视频。http://msdn.microsoft.com/en-us/windowsserver/gg675185他建议如果您要使用缓存,最好至少有两个服务器以获得更好的性能。他解释说,如果可用,AppFabric设计为使用所有内存进行缓存。因此,WAS(Windows激活服务)对我来说就足够了。 - tugberk
假设我的应用程序将会扩展,我想使用AppFabric,那么我需要更改代码吗?你知道吗? - tugberk
有几种使用分布式缓存的方法;您可以显式地使用它(在这种情况下,您需要更改代码),或者如果您正在使用ASP.NET缓存,则可以设置一些配置设置,告诉它使用分布式缓存(我没有使用过此场景,但我在某个演示中看到过,可能是在Ron Jacobs的视频中之一)。 - carlosfigueira
我正在考虑使用asp.net缓存和配置文件。同时也在考虑使用新的Web API技术。你有相关经验吗? - tugberk

0

没有真正的共同理由不在IIS/WAS中托管服务。

如果您想要绝对、完全100%确保您的服务连续运行一些进程,如连续循环或轮询监视器,并且任何中断无论多么短暂都是一个重大问题,那么您需要考虑其他主机。

Win Server AppFabric最适合WF服务托管和缓存。请注意,Win Server AppFabric + Win Server Service Bus 1.0代表了Azure平台和Windows Server私有平台之间融合的第一步......换句话说,无论您选择哪种方式,在5年时间里,这就是您的谋生之道。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接