J'essaye de concevoir une fonction de chargement d'image dans un site Web. J'utilise ASP.NET 3.5, C# et WCF.Le type 'System.Web.HttpRequest' ne peut pas être sérialisé
On m'a demandé d'accomplir ce qui suit:
1) Faire Uploader un service Web
2) Retour de progression des mises à jour à l'utilisateur sous forme de fichiers sont téléchargés.
3) Consigner les autres options pertinentes sélectionnées par l'utilisateur dans la base de données.
Alors, j'ai commencé par la création d'un client Web WCF avec le ci-dessous contrat de service:
IService.UploadPictures(HttpRequest request);
private UploadServiceClient upload;
protected void Page_Load(object sender, EventArgs e)
{
upload = new UploadServiceClient();
upload.UploadPictures(Request.Files);
}
Quand je compile, je reçois l'erreur suivante:
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.
Ainsi, Je suis retourné dans mon contrat de service et a changé [OperationContract] pour [DataContract] mais le changement a produit la même erreur.
Quelqu'un peut-il me dire gentiment ce que je fais mal et donner des exemples sur la meilleure façon d'avancer?
Merci pour votre temps.
Merci Nick (et excuses pour le retard). Cela a du sens et m'a donné quelque chose à travailler. J'ai une question connexe. Je comprends comment faire cela une fois que le téléchargement envoie au serveur, mais est-il possible de le faire comme un callback client WCF? En d'autres termes, comment transmettre la requête de type "List" lorsque j'appelle la méthode du client (../upload.svc/uploadpictures/param)? Ma logique est que je veux interroger en utilisant JavaScript (via IFrame) et il me semble plus facile de tout gérer via une seule méthode JS. Merci encore. –