C# 使用RestSharp将文件上载到Web服务

C# 使用RestSharp将文件上载到Web服务,c#,web-services,wcf,webservice-client,restsharp,C#,Web Services,Wcf,Webservice Client,Restsharp,我正在尝试创建一个Web服务,它将接受多个文件的上载。要将此数据发布到Web服务,我使用RestSharp 为了这篇文章的目的,我已经把代码剥了回去 我有我的服务的接口: [ServiceContract] public interface ISender { [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = Web

我正在尝试创建一个Web服务,它将接受多个文件的上载。要将此数据发布到Web服务,我使用RestSharp

为了这篇文章的目的,我已经把代码剥了回去

我有我的服务的接口:

    [ServiceContract]
public interface ISender
{
    [OperationContract]
    [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
    int Upload(Stream fileStream);
}
接口的实现:

    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Sender : ISender
{
    public int Upload(Stream fileStream)
    {
        FileStream fileToupload = new FileStream(Path.Combine("D:\\FileUpload\\","test.png"), FileMode.Create);

        byte[] bytearray = new byte[10000];
        int bytesRead, totalBytesRead = 0;
        do
        {
            bytesRead = fileStream.Read(bytearray, 0, bytearray.Length);
            totalBytesRead += bytesRead;
        } while (bytesRead > 0);

        fileToupload.Write(bytearray, 0, bytearray.Length);
        fileToupload.Close();
        fileToupload.Dispose();

        return 1;
    }
   }
然后使用RestSharp调用服务的客户端代码:

var client = new RestClient("http://myserviceurl/emailsender/Sender.svc");

        var request = new RestRequest("Upload", Method.POST) {RequestFormat = DataFormat.Json};
        request.AddHeader("Content-Type", "application/octet-stream");
        byte[] bytes = File.ReadAllBytes(Server.MapPath("/img/carousel-sprite-160.png"));
        request.AddFile("fileStream", bytes, "carousel-sprite-160.png", "image/png");


        // execute the request
        var response = client.Execute(request);
请允许我提出两个问题:

1) Upload方法中的fileStream参数始终为null-为什么?我配置的哪些内容不正确?。其次,如果.AddFile方法正在创建一个流对象,为什么要添加文件名和mime类型,这两个都不是流的一部分(可能是FileStream)

2) 可以对同一请求对象多次调用.AddFile方法。这表明webservice可以接收多个文件,但是webservice如何接收多个文件呢?无法使用
列表
,因此我不明白这是怎么可能的

任何人能提供的任何建议都将不胜感激

提前感谢您抽出时间

问候,, dotdev

能否提供
web.config
元素?