簡體   English   中英

即使我的文件很小,maxreceivedmessagesize 也會出錯

[英]Error with maxreceivedmessagesize even when my file is small

嗨,我是新來的,我發現了許多與 maxReceivedMessageSize 相關的問題,但我想詳細了解為什么會發生。

我的文件是 pdf (size=3MB) 並且我已經配置了 maxReceivedMessageSize="10485000" (10mb),所以應該足夠了,但是不,我必須將值更改為 104850000 (100 MB),並且以這種方式工作。

為什么會拋出錯誤? 我發送給服務的消息中的文件大小是否會發生變化? 正如我提到的新值有效但我想了解如果我的文件只有 3MB,為什么我需要 100 MB 的值

我將此 object 發送到服務

 public class Document
{
    [DataMember]
    public string DocumentName { get; set; }

    [DataMember]
    public sbyte[] DataBytes { get; set; }
}

這是我用來發送文件的方法:

       private static void SendFile()
    {
        try
        {
            using (var stream = System.IO.File.Open(filename, FileMode.Open))
            {
                SendFile.LoadDocument.Document document = new SendFile.LoadDocument.Document();
                document.DocumentName = "MyFile_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".pdf";
                document.DataBytes = stream.ToSbytes();

                LoadDocumentClient service = new LoadDocumentClient();
                service.LoadDocuments(document);
            }
        }
        catch (CommunicationException e)
        {
            Console.WriteLine(e);
        }
    }

這個和maxReceivedMessageSize無關,是stream轉sbyte引起的,可以試試直接轉stream類型文件。

 var stream = System.IO.File.Open(filename, FileMode.Open);
 ServiceReference1.CalculatorClient Client = new ServiceReference1.CalculatorClient();
 Client.LoadDocuments(stream);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM