2011-03-22 77 views
1

我得到了一种编码方案,我似乎无法修复。 我有一个同步WCF服务,我想模拟添加服务引用(slsvcutil.exe),但没有托管WCF服务。这可能吗?为Silverlight生成WCF代理,而无需将托管服务添加到WCF服务中的ASync模式

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

回答

0

是否因为您不想“添加异步模式”而无需托管即可生成代理?

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

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

实际上Silverlight中的所有东西都是异步的,并有很好的理由。正是这样,最终用户才能在应用程序停止获取数据时不会遇到阻塞的UI线程。

+0

是的我不想将异步模式添加到我的WCF服务。 添加服务引用会创建一个在客户端添加同步模式的客户端。 我想通过使用slsvcutil.exe来模拟此,但我无法从本地.wsdl文件生成客户端。它给了我一个错误消息,指出找不到端点。所以我问是否有一种方法可以在没有端点的情况下生成代理。 你知道这是可能吗? – Casper 2011-03-23 09:20:01

+0

我不知道是否有可能,我怀疑你必须从Silverlight运行时提供的类中手工创建一个WCF客户端。你为什么不要异步?使用Silverlight IMO的主要原因是为了改进用户体验,并转向同步服务将与此相反。 – BenCr 2011-03-23 09:32:01

+0

我不介意在Silverlight端使用异步,但我不想仅仅因为Silverlight无端点创建代理而编辑我的WCF端。 我认为唯一的办法就是让自己的代码生成器像slsvcutil一样不需要端点。 – Casper 2011-03-23 10:11:34

相关问题