Silverlight类库中的WCF服务引用

时间:2009-08-11 07:50:38

标签: wcf silverlight

我有一个Silverlight应用程序通过WCF服务与服务器端通信。最初我在Silverlight主应用程序中拥有所有内容,但现在我想将我们的一些类分解为一个单独的Silverlight类库项目。然而这给了我一些奇怪的问题......

我想将进行WCF通信的类分解为一个单独的项目。所以我:

  • 创建了一个新项目; Silverlight类库
  • 将类从Silverlight应用程序移动到我的Silverlight类库
  • 删除了应用程序中的服务引用,因为我不再从应用程序中调用它。
  • 从类库项目添加了服务引用。

现在 - 编译很好,我得到了类库中服务内容的智能感知,所以看起来没问题。我还更新了服务并在类库中获得了更新。 但是在运行应用程序时,它在执行服务调用时失败,从而产生以下错误:

用户代码未处理InvalidOperationException

无法在ServiceModel客户端配置部分中找到引用合同“MyServiceReference.IMyService”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。

好像它找不到服务,但为什么呢?我假设从Silverlight类库中获取服务引用应该没有问题,因为它允许我添加一个?

1 个答案:

答案 0 :(得分:2)

IT无法找到任何服务配置 - 您在哪里获得WCF服务的配置?默认情况下,客户端应用程序(EXE)将包含一个app.config,其中包含要连接的服务端点。

此外,默认情况下,类库(DLL)没有自己的配置,但依赖其托管应用程序为它们提供配置。

总而言之 - 您可能错过了客户端端点的配置。最有可能的是,它已经在类库项目中创建为app.config,但是没有被使用,真的 - 你必须将<system.serviceModel>部分移动到主应用程序的配置(我不是精通Silverlight,但你会知道放在哪里。)

马克