有关webservice的问题

lwghost 2007-11-14 05:59:01
我在webservice里写了一个返回Fileinfo[]类型的方法,可是运行的时候出现"System.IO.FileInfo 无法序列化,因为它没有无参数的构造函数"这样的错误,请问是什么问题?
...全文
110 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
SDFDSAC 2007-11-15
  • 打赏
  • 举报
回复
写一个可序列化的类来代替FileInfo[]
参考:http://blog.csdn.net/jupiter97/archive/2007/05/31/1632448.aspx
思路是:在里面定义几个数组来存FileInfo相关字段的信息,可以搜一下WebService返回DataTable
SDFDSAC 2007-11-15
  • 打赏
  • 举报
回复
用一个类来替换FileInfo[]
lwghost 2007-11-15
  • 打赏
  • 举报
回复
using System;
using System.Data;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System.IO;

namespace WebService1
{
/// <summary>
/// Service1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public FileInfo[] data()
{
DirectoryInfo Spath = new DirectoryInfo("路径");
FileInfo[] Sdata = Spath.GetFiles();

return Sdata;
}
}
}
代码是这样的,比较简单,就是出现那个序列化的问题,其实也没什么,就是返回服务器端的文件!如果有其它的方法也行!
曲滨_銘龘鶽 2007-11-14
  • 打赏
  • 举报
回复
序列化和反序列化需要对象具有没参赛的构造函数

class classA //这样的没问题
{
public classA() {}

}


class classA {
public classA(int a) {
//这样的就没法序列化反序列化了,因为反序列化时.net根本不知道怎么给你传递那些构造参数
}

}

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧