Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WCF服务与Silverlight无效_Wcf_Silverlight_Entity Framework - Fatal编程技术网

WCF服务与Silverlight无效

WCF服务与Silverlight无效,wcf,silverlight,entity-framework,Wcf,Silverlight,Entity Framework,我正在尝试让WCF与Silverlight一起工作。我完全是WCF的初学者,但在过去编写过asmx服务。由于某种原因,当我在我的服务中取消注释多个方法时,Silverlight拒绝让我使用它,说它无效。如果有人能帮忙,我的代码在下面。我正在使用实体框架,如果这有区别的话 [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class Mes

我正在尝试让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);
}
}
[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed]
公共类MessageService{//:IMessageService{
/// 
///发送新消息。
/// 
///收件人用户名。
///主题。
///消息正文。
[经营合同]
public void SendMessageByDetails(字符串接收者用户名、字符串主题、字符串消息正文){
MessageDAL.SendMessage(接收方用户名、主题、消息体);
}
/// 
///发送新消息。
/// 
///要发送的消息。
[经营合同]
公共无效发送消息(消息消息消息){
MessageDAL.SendMessage(msg);
}
}

如果您只是使用WCF将一些数据获取到Silverlight中,那么可能值得一看,到底是哪种构造为您提供的WCF服务向客户端Silverlight公开了您的实体。

您的服务引用配置是什么样子的?请记住Silverlight只能使用http绑定的WCF服务。

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


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

您是如何通过.svc文件在网站项目中托管WCF服务的?我现在收到一个不同的神秘错误-自定义工具错误:无法为服务引用“MessageService”生成代码。有关详细信息,请查看其他错误和警告消息。C:\Users\Echilon\Documents\Coding\MessageCenter\MessageCenter\Service References\MessageService\Reference。svcmap@Echilon-检查Visual Studio中生成的输出。奇怪的是,它现在似乎工作了。我一定是漏掉了撇号或在某处打错了字。