我的目的是把实体类序列化为JSON格式的字符串,存入数据库。
在本地测试时一切正常,传到服务器上就报错。
错误信息如下:——————————————————————————————
无法序列化类型“XXX.XXX.XXX”。可以考虑使用 DataContractAttribute 属性对其进行标记,或使用 DataMemberAttribute 属性标记所有想要序列化的该类型的成员。
——————————————————————————————在网上搜到的原因大多是说服务器没有安装.net framework 3.5。
但不可能是这个原因,我安装了3.5 SP1完整版200多MB的那个官方包,还是不行,为了确认安装是否成功,我也从硬盘目录中找到了所需的dll,确认已安装成功。
本地和服务器都是2003的系统。
让我很纳闷为什么本地和服务器会有差别……

解决方案 »

  1.   

    那你就按照出错的提示,对要序列化的类的属性进行DataContractAttribute标记试试。
      

  2.   

    那iis有没有选择为.net 3。5呢?
      

  3.   

    对属性做了标记,并将所需的dll引用放在项目中,搞定了。
    关于2楼说的,我找到了答案: ASP.NET 3.5 的程序要安装在 IIS 上不需要特別指定 ASP.NET 3.5 的版本,继续沿用 ASP.NET 2.0 的版本即可,但其服务器本身必须要先安裝 .Net Framework 3.5
    参考:http://qdh68.blog.163.com/blog/static/137561262012816685213/