我正在尝试将图片上传功能设计到网站中。我正在使用 ASP.NET 3.5、C# 和 WCF。
我被要求完成以下任务:
1) 使 Uploader 成为 Web 服务
2) 在文件上传时向用户返回进度更新。
3) 在数据库中记录其他相关的用户选择选项。
因此,我首先使用以下服务合同创建了一个 WCF Web 客户端:
IService.UploadPictures(HttpRequest request);
private UploadServiceClient upload;
protected void Page_Load(object sender, EventArgs e)
{
upload = new UploadServiceClient();
upload.UploadPictures(Request.Files);
}
当我编译时,我收到以下错误:
无法序列化类型“System.Web.HttpRequest”。考虑使用 DataContractAttribute 对其进行标记,并使用 DataMemberAttribute 属性标记您想要序列化的所有成员。
因此,我回到我的服务合同并将 [OperationContract] 更改为 [DataContract] 但更改产生了相同的错误。
有人可以告诉我我做错了什么并提供如何最好地前进的例子吗?
谢谢你的时间。