我有一个Silverlight应用程序通过WCF服务与服务器端通信。最初我在Silverlight主应用程序中拥有所有内容,但现在我想将我们的一些类分解为一个单独的Silverlight类库项目。然而这给了我一些奇怪的问题......
我想将进行WCF通信的类分解为一个单独的项目。所以我:
现在 - 编译很好,我得到了类库中服务内容的智能感知,所以看起来没问题。我还更新了服务并在类库中获得了更新。 但是在运行应用程序时,它在执行服务调用时失败,从而产生以下错误:
用户代码未处理InvalidOperationException
无法在ServiceModel客户端配置部分中找到引用合同“MyServiceReference.IMyService”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。
好像它找不到服务,但为什么呢?我假设从Silverlight类库中获取服务引用应该没有问题,因为它允许我添加一个?
答案 0 :(得分:2)
IT无法找到任何服务配置 - 您在哪里获得WCF服务的配置?默认情况下,客户端应用程序(EXE)将包含一个app.config,其中包含要连接的服务端点。
此外,默认情况下,类库(DLL)没有自己的配置,但依赖其托管应用程序为它们提供配置。
总而言之 - 您可能错过了客户端端点的配置。最有可能的是,它已经在类库项目中创建为app.config,但是没有被使用,真的 - 你必须将<system.serviceModel>
部分移动到主应用程序的配置(我不是精通Silverlight,但你会知道放在哪里。)
马克