【问题标题】:WCF Service invalid with SilverlightWCF 服务对 Silverlight 无效
【发布时间】:2009-11-24 15:18:05
【问题描述】:

我正在尝试让 WCF 与 Silverlight 一起使用。我是 WCF 的初学者,但过去曾编写过 asmx 服务。出于某种原因,当我在我的服务中取消注释多个方法时,Silverlight 拒绝让我使用它,说它无效。如果有人可以提供帮助,我的代码如下。如果这会有所不同,我将使用实体框架。

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class MessageService {//: IMessageService {
/// <summary>
/// Sends a new message.
/// </summary>
/// <param name="recipientUsername">The recipient username.</param>
/// <param name="subject">The subject.</param>
/// <param name="messageBody">The message body.</param>
[OperationContract]
public void SendMessageByDetails(string recipientUsername, string subject, string messageBody) {
    MessageDAL.SendMessage(recipientUsername, subject, messageBody);
}

/// <summary>
/// Sends a new message.
/// </summary>
/// <param name="msg">The message to send.</param>
[OperationContract]
public void SendMessage(Message msg) {
    MessageDAL.SendMessage(msg);
}
}

【问题讨论】:

  • 您如何托管 WCF 服务?通过 .svc 文件在网站项目中?

标签: wcf silverlight entity-framework


【解决方案1】:

您需要在类上有一个[ServiceContract] 属性,或者它需要实现一个具有[ServiceContract] 属性的接口并且在那里定义的服务方法用[OperationContract] 属性标记。

您可能会发现创建一个简单的“灰屏”Windows 窗体应用程序可以更轻松地诊断此类问题。

【讨论】:

  • 我现在收到一个不同的神秘错误 - 自定义工具错误:无法为服务引用“MessageService”生成代码。有关详细信息,请查看其他错误和警告消息。 C:\Users\Echilon\Documents\Coding\MessageCentre\MessageCentre\Service References\MessageService\Reference.svcmap
  • @Echilon - 检查 Visual Studio 中构建的输出。
  • 奇怪的是,它现在似乎工作了。我一定是漏掉了一个撇号或在某处打错了字。
【解决方案2】:

如果您只是使用 WCF 将一些数据输入 Silverlight,那么可能值得查看 WCF RIA Services,它为您构建 WCF 服务,最终将您的实体暴露给您的客户端 Silverlight。

【讨论】:

    【解决方案3】:

    您的服务参考配置是什么样的?请记住,SilverLight 只能通过 http 绑定来使用 WCF 服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-23
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多