【问题标题】:Generate a WCF proxy for Silverlight without adding the ASync pattern to the WCF service without hosting the service为 Silverlight 生成 WCF 代理,无需将异步模式添加到 WCF 服务,无需托管服务
【发布时间】:2011-03-22 14:44:02
【问题描述】:

我遇到了一个似乎无法修复的编码场景。 我有一个同步 WCF 服务,我想模拟添加服务引用 (slsvcutil.exe) 但不托管 WCF 服务。这可能吗?

我想使用 slsvcutil 从 wsdl 文件生成客户端,但它不想工作,因为它需要一个端点。是否可以为 Silverlight 生成 WCF 代理,而无需托管服务并且无需通过使所有调用异步来编辑 WCF 服务?

【问题讨论】:

    标签: silverlight wcf


    【解决方案1】:

    您想要在不托管的情况下生成代理的原因是因为您不想“添加异步模式”吗?

    您不必编辑 WCF 服务以使其可异步调用,异步全部由客户端而不是服务器处理。

    看看这个教程,你会发现服务代码根本没有提到异步。 http://www.dotnetcurry.com/ShowArticle.aspx?ID=228

    实际上,Silverlight 中的所有内容都是异步的,这是有充分理由的。这样一来,最终用户在应用程序开始获取数据时不会遇到阻塞的 UI 线程。

    【讨论】:

    • 是的,我不想将异步模式添加到我的 WCF 服务中。添加服务引用创建一个在客户端添加同步模式的客户端。我想通过使用 slsvcutil.exe 来模拟这一点,但我无法从本地 .wsdl 文件生成客户端。它给了我一条找不到端点的错误消息。所以我问是否有一种方法可以在没有端点的情况下生成代理。你知道这是否可能吗?
    • 我不知道这是否可能,我怀疑您必须从 Silverlights 运行时中可用的类手工制作 WCF 客户端。你为什么不想要异步?使用 silverlight IMO 的主要原因是为了改进 UX,而转向同步服务将与此相反。
    • 我不介意在 Silverlight 端使用异步,但我不想编辑我的 WCF 端,因为 Silverlight 无法在没有端点的情况下创建代理。我认为唯一的方法是自己制作一个像 slsvcutil 这样不需要端点的代码生成器。
    • 我已经编辑了我的答案,将您链接到服务教程,以说明我的观点,即服务器端根本没有任何特定于异步调用的内容。
    • 我知道如何在不使用 WCF 异步调用的情况下添加服务引用。但我的问题是您需要先托管服务,然后才能制作代理。我想在不托管服务的情况下生成代理(通过为 slsvcutil 应用程序提供 .wsdl 文件)
    猜你喜欢
    • 1970-01-01
    • 2011-05-17
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    相关资源
    最近更新 更多