2010-08-17 88 views
0

我正在尝试改进Silverlight 4 WCF RIA应用程序的性能。由于它仅用于Intranet,我认为从默认的二进制HTTP绑定切换到Net.TCP绑定可能会提高性能。WCF RIA通过Net.TCP绑定?

但是,我很难获得简单的概念应用程序运行证明。我有:

  • 切换从卡西尼conecpt应用程序的证明IIS(7)
  • 添加了相应的绑定,并启用的协议在IIS
  • 增加了一个clientaccesspolicy.xml文件到我的IIS根

现在,当我创建像这样一个背景:

var context = new DomainService1(
new Uri(
    "net.tcp://localhost:4502/BusinessApplication/BusinessApplication2.Web/ClientBin/BusinessApplication2-Web-DomainService1.svc")); 

...我收到以下错误:

The provided URI scheme 'net.tcp' is invalid; expected 'http'. Parameter name: via 

现在我很难过。据我所知,问题是由自动生成的WCF RIA代码创建的客户端需要被告知使用Net.TCP端点,但我不确定如何执行该操作。

我发现很多博客文章解释了如何通过Net.TCP获取WCF服务,但是我还没有发现一个人谈论WCF RIA,而且我也找不到任何官方文档。所有这些解释都涉及到web.config文件的更改,这些文件看起来不适合WCF RIA应用程序。

请问一些人或者向我解释如何得到这个配置,或者指向我的一些文档?

+0

到目前为止,它看起来并不可能:” ...... RIA Services不支持改变(至少,不是根据MS张贴一个不同的线程)DomainContext的绑定类型。“在http://forums.silverlight.net/forums/p/149151/332402.aspx。 – 2010-08-18 06:16:26

回答

0

WCF RIA服务依赖于Net.TCP绑定不可用的HttpContext。

至于perf的问题,你能再详细一点吗?什么是瓶颈查询/操作?什么是数据的大小(实体大小×实体数量)?你的性能要求和当前性能之间的增量是多少?

也许还有其他方式不涉及Net.TCP?

谢谢。

迪内希

(WCF RIA服务项目经理)

+0

Dinesh,谢谢你的回复。大约600个字符:我们从服务器获取图表的点数,然后调用服务器多次执行统计操作,每次获取一组新的点数。这取代了由于实时请求的统计操作数量而必须立即执行的VBA遗留应用程序。原型测试证明30ms的延迟是可以接受的。根据Fiddler的说法,我们每次操作后都会获得30-100个实体,总计约12kB。当前往返行程> 100ms。 – 2010-08-19 00:02:17

+0

哦,如果你想知道,我们并没有意识到在WS架构路由开始之前绝对的性能要求。事后看来,我们应该制作出不同性能的原型,从而确定所需性能的一些硬性数字,并将这些数据(如自动性能测试?)从一开始。 – 2010-08-19 01:06:37