`

Silverlight3+WCF遇到的问题(二):wcf system.servicemodel.communicationexception

阅读更多

 

  以前我访问的数据库都是一张表,没有关联,昨天添加了两张表,一共两张表,用户表和用户类型表,然后修改了原来的两个实体类

 

  用户信息实体类

 

代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.Serialization;

namespace Domain.Entity
{
    [DataContract]
    
public class Customer : INotifyPropertyChanged
    {
        
private int _intCustomerId;
        
private string _strCustomerName;
        
private string _strCustomerCode;
        
private CustomerType  _CustomerType;
        
private int _intCustomerTypeId;

        [DataMember ]
        
public virtual  int CustomerTypeId
        {
            
get { return _intCustomerTypeId; }
            
set
            {
                _intCustomerTypeId 
= value;
                OnPropertyChanged(
"CustomerTypeId");
            }
        }

        [DataMember ]
        
public virtual  CustomerType  CustomerType
        {
            
get { return this._CustomerType; }
            
set
            {

                
this._CustomerType = value;
                OnPropertyChanged(
"CustomerType");
            }
        }

        [DataMember]
        
public virtual int CustomerId
        {
            
get { return this._intCustomerId; }
            
set
            {
                
this._intCustomerId = value;
               OnPropertyChanged(
"CustomerId");
            }
        }
        [DataMember]
        
public virtual string CustomerName
        {
            
get { return this._strCustomerName; }
            
set
            {
                
this._strCustomerName = value;
               OnPropertyChanged(
"CustomerName");
            }
        }
        [DataMember]
        
public virtual string CustomerCode
        {
            
get { return _strCustomerCode; }
            
set
            {
                
this._strCustomerCode = value;
                OnPropertyChanged(
"CustomerCode");
            }
        }

        
#region INotifyPropertyChanged Members

        
public event PropertyChangedEventHandler PropertyChanged;

        
#endregion
        
private void OnPropertyChanged(string propertyName)
        {
            
if (PropertyChanged != null)
            {
                PropertyChanged(
thisnew PropertyChangedEventArgs(propertyName));
            }
        }
    }
}

 

  用户类型实体类

  

代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.Serialization;

namespace Domain.Entity
{
    [DataContract]
    
public class CustomerType : INotifyPropertyChanged
    {
        
private string _strCustomerTypeName;
        
private int _intCustomerTypeId;
        
private IList  <Customer> _customers;
        [DataMember ]
        
public virtual  int CustomerTypeId
        {
            
get { return this._intCustomerTypeId; }
            
set
            {

                
this._intCustomerTypeId = value;
                OnPropertyChanged(
"CustomerTypeId");
            }
        }

        [DataMember]
        
public virtual string CustomerTypeName
        {
            
get { return this._strCustomerTypeName; }
            
set
            {
                
this._strCustomerTypeName = value; OnPropertyChanged("CustomerTypeName");
            }
        }
        [DataMember]
        
public virtual IList<Customer> Customers
        {
            
get { return this._customers; }
            
set
            {
                
this._customers = value;
                OnPropertyChanged(
"Customers");
            }
        }
        
#region INotifyPropertyChanged Members

        
public event PropertyChangedEventHandler PropertyChanged;

        
#endregion
        
private void OnPropertyChanged(string propertyName)
        {
            
if (PropertyChanged != null)
            {
                PropertyChanged(
thisnew PropertyChangedEventArgs(propertyName));
            }
        }
        
public override string ToString()
        {
            
return CustomerTypeName;
        }
    }
}
  

 

  请注意上面的这个红色部分IList,本来我是想返回集合的,一想针对接口编程,然后就写了一个IList,可是问题就出来了,原来好好的东西,就跑不了了,一个劲的报错。

  在SL3客户端的代码

  

<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->void client_GetCustomerCompleted(object sender, GetCustomerCompletedEventArgs e)
        {
            LayoutRoot.DataContext 
= e.Result;
        }

 

  报错,就在e.Result,报错wcf system.servicemodel.communicationexception  我就开始找啊找,google啊google,很多人提出这个错误,就是没有回答。后来我在这篇请教当返回自定义类型时如何通过<declaredTypes>实现序列化帖子中找到了一些提示信息,他说“查了一些帮助,发现是由于返回类型中有个IList,所以无法序列化”,恍然大悟,还是WCF版的版主Frank Xu Lei厉害啊,哈哈。

  修改成List就可以了,问题解决。

分享到:
评论

相关推荐

    未能从程序集“System.ServiceModel, Version=3.0.0.0

    解决在 Windows Server 2008 中的 IIS 服务器中部署 WCF 服务程序时出现的“未能从程序集“System.ServiceModel, Version=3.0.0.0”错误 在 Windows Server 2008 中的 IIS 服务器中部署 WCF 服务程序时,可能会出现...

    vs2010+Silverlight4+wcf开发部署全过.doc.doc

    1 安装开发环境 操作系统:Windows 7 专业版 ... 银光套件:Silverlight.exe Silverlight4_Tools.exe Silverlight_Developer.exe ...3 建立一个vs2010+silverlight4+wcf的项目 为了少啰嗦,大家看图吧。

    在IIS上部署Silverlight+WCF项目教程

    本教程旨在指导用户如何在IIS上部署Silverlight+WCF项目,并解决可能遇到的问题。 首先,需要在IIS上配置好Silverlight+WCF项目的环境。具体来说,需要在IIS中添加以下MIME类型: * application/x-silverlight-app...

    silverlight+Wcf实现登录

    2. **实现服务代理**:在Silverlight项目中,使用“添加服务引用”功能,指向WCF服务的地址,这将自动生成服务代理类,使得Silverlight客户端可以调用WCF服务的方法。 3. **编写WCF服务**:在另一个.NET项目中创建...

    system.servicemodel

    在描述中提到的“帮助解决无法找到 system.servicemodel 的问题”,通常这种情况表明开发环境中缺少了对 WCF 相关组件的引用或者配置不正确。要解决这个问题,开发者可能需要检查以下几点: 1. **添加引用**:确保...

    WCF布署问题1 :HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态

    标题中的“WCF部署问题1:HTTP错误404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态”是指在尝试部署Windows Communication Foundation(WCF)服务时遇到的一个常见错误。该错误表明服务器无法找到请求的...

    在IIS6+FRAMEWORK4.0上部署SILVERLIGHT4+WCF应用程序[汇编].pdf

    本文主要介绍如何在IIS6服务器上,基于.NET Framework 4.0部署一个包含Silverlight 4和WCF服务的应用程序。以下是详细步骤: 1. **发布应用程序**: - 使用Visual Studio 2010,对Web项目进行发布。选择“发布”...

    vs2010+Silverlight4+wcf开发部署全过程

    标题与描述均提到了“vs2010+Silverlight4+wcf开发部署全过程”,这表明文章将详述使用Visual Studio 2010、Silverlight 4以及WCF(Windows Communication Foundation)进行应用程序开发与部署的具体步骤。...

    MF00680-silverlight+wcf仓库管理源码.zip

    silverlight+wcf仓库管理系统源码 仓库源码 开发语言 : C# 数据库 : SQL2008 开发工具 : VS2010 源码类型 : WebForm 注意:不带技术支持,有帮助文件,虚拟商品,发货不退,看好再拍。 源码描述: silverlight +...

    Silverlight + WCF 数据压缩

    在"Silverlight + WCF 数据压缩"这个主题中,我们将探讨如何在Silverlight客户端与WCF服务之间高效地传输数据,通过数据压缩来减少网络带宽消耗。 首先,理解数据压缩的重要性是关键。在网络通信中,如果数据量大,...

    silverlight+WCF的net.tcp双工通信实例过程

    3. **net.tcp绑定**:net.tcp是WCF提供的一个传输绑定,它支持TCP/IP协议,并且可以实现低级的二进制编码,从而提供高效的网络通信。特别地,它支持双向通信,使得客户端和服务端可以同时进行数据交换。 4. **双工...

    silverlight+wcf n维拼图游戏

    【银光+N维拼图游戏:Silverlight与WCF技术的完美融合】 本文将深入探讨一个基于Silverlight和WCF技术构建的n维拼图游戏的实现细节。Silverlight是微软推出的一种富互联网应用程序(RIA)平台,它允许开发者创建...

    Silverlight+WCF配置

    Silverlight+WCF配置具体方法 讲解

    silverlight+wcf+LinqToSql的demo

    《银光轻触,WCF流转,LINQ与SQL共舞——深入理解Silverlight+WCF+LinqToSql Demo》 在当今的Web开发领域,Silverlight作为一种强大的富客户端技术,以其丰富的用户界面和交互性受到众多开发者的青睐。而WCF...

    Silverlight+WCF-图片上传-SLUploadPICDemo.zi

    3. **上传逻辑**:在Silverlight客户端,当用户选择图片后,读取文件内容并转换为字节数组,然后使用异步的Silverlight-WCF通信方式调用服务接口,将图片数据发送到服务端。 4. **服务端处理**:WCF服务接收到图片...

    silverlight+wcf+linq简单实例

    在这个"silverlight+wcf+linq简单实例"中,我们将深入探讨这三种技术如何协同工作,以实现对服务器数据库的数据操作。 首先,Silverlight是微软开发的一种RIA(Rich Internet Application)技术,它允许开发者创建...

    IIS6+Framework4.0上部署Silverlight4+WCF应用程序

    本文主要介绍如何在IIS6和.NET Framework 4.0环境下部署一个包含Silverlight 4和WCF服务的应用程序。以下是对整个部署过程的详细解析: 1. **VS2010中发布应用程序** - 使用Visual Studio 2010作为开发环境。 - ...

    Silverlight+wcf新手象棋解决方案

    《Silverlight + WCF新手向导:构建网络象棋应用》 在当今互联网技术日新月异的时代,开发跨平台、交互性强的应用程序已经成为开发者的重要任务。本解决方案以"Silverlight + WCF"为核心,旨在帮助新手理解如何利用...

    问题代码 Silverlight调用控制台宿主WCF Demo

    3. **配置Silverlight客户端**:在Silverlight客户端中,使用`System.ServiceModel.Channels.Binding`类创建适当的绑定,例如`BasicHttpBinding`或`WsHttpBinding`,并设置相应的跨域属性。 4. **调用WCF服务**:在...

    System.Runtime.Serialization.dll / ServiceModel.dll/ServiceModel.Web.dll

    在.NET框架中,`System.Runtime.Serialization.dll`, `ServiceModel.dll` 和 `ServiceModel.Web.dll` 这三个动态链接库(DLL)是实现数据序列化和网络服务操作的关键组件。它们在开发过程中扮演着重要角色,特别是在...

Global site tag (gtag.js) - Google Analytics