簡體   English   中英

上傳圖片超過16kb vs2010 c#asp.net

[英]upload picture over 16kb vs2010 c# asp.net

我想將大圖片(超過16kb)上傳到數據庫。(我成功處理了小圖片)我已經在所有找到的地方將MaxArrayLength更改為2147483647(默認為16384)。 但是仍然在調試后收到以下錯誤消息:

格式化程序嘗試反序列化消息時引發異常:嘗試反序列化參數http://tempuri.org/:PicToAdd時出錯。 InnerException消息為“在反序列化BL.BE.Picture類型的對象時發生錯誤。 讀取XML數據時,已超出最大數組長度配額(16384)。 通過更改在創建XML閱讀器時使用的XmlDictionaryReaderQuotas對象上的MaxArrayLength屬性,可以增加此配額。 第1行,位置41545。”。 請參閱InnerException了解更多詳細信息源代碼:

Line 218:        public string BLS_AddPicture(BL.BE.Picture PicToAdd) {
Line 219:            **return base.Channel.BLS_AddPicture(PicToAdd);**
Line 220:        }

我該怎么辦才能盡快修復它!!! 謝謝

您必須在WCF配置中更改設置XmlDictionaryReaderQuotas.MaxArrayLength。

您可以在配置文件中執行此操作:

<system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding ...>
                <readerQuotas maxDepth="32" 
                              maxStringContentLength="8192"
                              maxArrayLength="16384"
                              maxBytesPerRead="4096" 
                              maxNameTableCharCount="16384" />

或在代碼中:

XmlDictionaryReaderQuotas lOQuotas = new XmlDictionaryReaderQuotas()
           {
                    MaxArrayLength = Int32.MaxValue,
                    MaxBytesPerRead = Int32.MaxValue,
                    MaxDepth = Int32.MaxValue,
                    MaxNameTableCharCount = Int32.MaxValue,
                    MaxStringContentLength = Int32.MaxValue
           };

myBinding.ReaderQuotas = lOQuotas;

暫無
暫無

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

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