2012-03-27 33 views
0

我们公司向其客户租赁音乐服务。该产品包括一个自动化的mp3播放器,以及下载到他们机器上的costumers音乐库(mp3歌曲)的每日更新/更新。到目前为止,我们通过使用GBridge同步服务器和客户端文件夹,为mp3更新使用了一个难看的解决方案。这显然是一个缺点,因为我们强迫我们的客户下载我们的整个音乐库(目前25.000首歌曲),而其中大多数将永远不会播放来自我们所有音乐类别(流行音乐,摇滚等)的歌曲。最重要的是,我们只能提供一个订阅数据包(我们的整个音乐库),而我们的竞争对手提供价格较低的数据包。出于这些原因,我们决定转向WCF。我真的需要为我的服务提供可靠的会话吗? (内部说明)

该服务使用PerCall实例化模式,并实现两个操作,通过传统的请求 - 回复模式从一个winform客户端应用程序调用。

第一个操作从数据库中检索允许客户端从(请求)下载的类别并将这些类别(回复)的列表发送回客户端。

第二个操作用于下载。客户端首先下载服务器数据库的xml版本。类似的xml位于客户端。客户端应用程序检查从第一个操作返回的每个类别中的哪些歌曲与其服务器的xml文件相比,在它自己的xml中缺少哪些歌曲。如果缺少任何文件(xml中的元素),则一次下载一个文件。每次下载后,客户端都会更新其xml,并再次进行相同的比较,直到所有文件(元素)在2 xml中匹配。

长话短说,考虑到服务上的实例化模式是出于吞吐量原因并保持内存消耗低的PerCall,并且我的操作都使用请求 - 应答模式,这意味着确认消息将被发送回客户端与服务的每个响应,所以如果连接出现问题或者如果客户端无法访问服务,我可以捕获客户端上的CommunicationObjectFaultedException,重新构建代理并重试您是否认为我需要在我的可靠会话服务实施?如果我在刚刚描述的操作中没有可靠的会话,会出现什么问题?

回答

0

如果我在刚描述的 操作中没有可靠的会话,可能会出现什么问题?

我知道只有很少的问题正在通过可靠的会话解决,但它会给服务器带来很大压力。

我会亲自去BasicHttpBinding(为了更好的互操作性)没有可靠的会话。


UPDATE

为了了解可靠的会话,有thisthis读。

如果您是银行,如果您向其他银行汇款,使用可靠会话是有意义的。这将确保消息被最终参与方接收。但在大多数情况下,你不需要它。

+0

我还没有触及安全问题,但说实话,我是全新的WCF仍在学习和学习。你认为BasicHttpBinding的基本安全配置文件对我的服务是否足够了? – Pantelis 2012-03-27 11:34:57

+0

@Pantelis我已经更新了我的答案。BasicHttpBinding可以使用HTTPS进行保护,这是广泛可用的,因此是我的首选。 – Aliostad 2012-03-27 12:26:07

+0

谢谢你的回复。这简化了事情,因为我们可以流式处理文件而不是缓冲文件,从而最大限度地减少服务器资源消耗。 – Pantelis 2012-03-27 18:54:32