【问题标题】:WCF RIA over Net.TCP binding?WCF RIA over Net.TCP 绑定?
【发布时间】:2010-08-17 00:46:30
【问题描述】:

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

但是,我很难让一个简单的概念验证应用程序运行。我有:

  • 将 conecpt 应用程序的证明从 Cassini 切换到 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 端点,但我不确定该怎么做。

我发现很多博客文章解释了如何让 WCF 服务通过 Net.TCP,但我还没有找到一篇关于 WCF RIA 的文章,而且我也找不到任何官方文档。所有这些解释都涉及对 web.config 文件的更改,这些更改似乎不适合 WCF RIA 应用程序。

有人可以向我解释一下如何配置它,或者指点我一些文档吗?

【问题讨论】:

标签: wcf-ria-services nettcpbinding


【解决方案1】:

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

至于性能问题,您能详细说明一下吗?什么是瓶颈查询/操作?数据的大小(实体大小 x 实体数量)是多少?您的性能要求与当前性能之间的差异是多少?

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

谢谢。

饭菜

(WCF RIA 服务项目经理)

【讨论】:

  • Dinesh,感谢您的回复。大约 600 个字符:我们从服务器获取图表的点,然后多次调用服务器执行统计操作,每次获取一组新点。这取代了由于实时请求的统计操作数量而必须近乎即时执行的 VBA 旧版应用程序。 30ms 延迟在原型测试中被证明是可以接受的。根据 Fiddler 的说法,每次操作后我们会获取 30 - 100 个实体,总计约 12kB。当前往返时间 > 100 毫秒。
  • 哦,如果您想知道的话,我们在开始 WS 架构路线之前并不知道绝对的性能要求。事后看来,我们应该首先制作出不同性能的原型,从而确定所需性能的一些硬数字,并从一开始就将这些(作为自动化性能测试?)结合起来。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-30
  • 1970-01-01
  • 2016-05-07
  • 2011-07-24
  • 1970-01-01
相关资源
最近更新 更多