我試圖設計一個圖片上傳功能到一個網站。 我使用ASP.NET 3.5,C#和WCF。類型'System.Web.HttpRequest'不能被序列化
我被要求完成下列操作:
1)請上傳器的Web服務
2)返回進度更新到用戶的文件上傳。
3)在數據庫中記錄其他相關用戶選擇的選項。
IService.UploadPictures(HttpRequest request);
private UploadServiceClient upload;
protected void Page_Load(object sender, EventArgs e)
{
upload = new UploadServiceClient();
upload.UploadPictures(Request.Files);
}
當我編譯,我得到以下錯誤:
所以,我通過與 以下服務合約創建一個WCF Web客戶端開始了
Type 'System.Web.HttpRequest' cannot be serialized. Consider marking it with the DataContractAttribute, and marking all of its members you want serialized with the DataMemberAttribute attribute.
所以,我回到我的服務合同中,並且 將[OperationContract]更改爲[DataContract] ,但是更改產生了相同的錯誤。
有人可以告訴我我做錯了什麼 並提供如何最好地向前邁進的例子嗎?
謝謝你的時間。
感謝尼克(並道歉的延誤)。 這是有道理的,並給了我一些工作。 我有一個相關的問題。我知道如何做到這一點,一旦上傳到服務器的帖子,但是有可能做到這一點作爲客戶端的WCF回調?換句話說,當我從客戶端調用方法(../upload.svc/uploadpictures/param)時,如何傳遞類型「List」的參數請求? 我的邏輯是我想使用JavaScript進行輪詢(通過IFrame),並且通過單個JS方法處理所有事情似乎更容易。 再次感謝。 –
2009-10-19 21:26:08