Click here to Skip to main content
15,886,792 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
hi guys... I am trying to create a page for product upload using wcf. In this i am using service library.

But when click the add button it's showing remote server thrown the exception called
remote server returned an unexpected response: (413) Request Entity Too Large.

What i did actually placing in this post can any body help me to sort out this problem.


add product.aspx.cs:

HTML
protected void btnAdd_Click(object sender, EventArgs e)
        {
            
            try
            {
                
                  if (ImageUpload.FileName != "") 
                    {

                        string path = Server.MapPath("~/images/");
                         string extension = Path.GetExtension(ImageUpload.PostedFile.FileName);
                         if (((extension == ".jpg") || ((extension == ".gif") || (extension == ".png"))))

                            {
                             
                               FileStream fs = new FileStream(path+ImageUpload.PostedFile.FileName, FileMode.Open,FileAccess.Read);
                               BinaryReader br = new BinaryReader(fs);
                               byte[] image = br.ReadBytes((int)fs.Length);
                              // byte[] raw = new byte[fs.Length];
                              //fs.Read(raw, 0, Convert.ToInt32(fs.Length));

                               modeldetails.UploadPhoto = image;
                                modeldetails.Serviceno = txtServiceNo.Text;
                                modeldetails.price= long.Parse( txtPrice.Text);
                                modeldetails.Name=txtName.Text;
                                modeldetails.ManfacturedDate=DateTime.Parse(txtManfacDate.Text.ToString());
                                 modeldetails.Manfac_Product_ID=Int32.Parse(ddlProctype.SelectedItem.Value);
                                 bool rows = proxy.AddNewProduct(modeldetails);
                             if (rows)
                                 {
                                     string script = "<script>alert('Data Added Successfully')</script>";
                                     Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Added", script);
                        
                                    }
                             else
                             {
                                 string script = "<script>alert('Error Adding Data')</script>";
                                 Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Error", script);
                               }
                        }
                else
                {
                    StatusLabel.Text = "Only Jpg,gif or Png files are permitted";
                }
            }
            else
            {
                StatusLabel.Text = "Kindly Select a File.....";
            }
           
        }
    
        catch (Exception e1)
        {
 
        }

      }


Wcf Service Libray:

HTML
public bool AddNewProduct(Model modeldetails)
        {
            
            SqlConnection con = new SqlConnection(Properties.Settings.Default.constr);
            con.Open();
            SqlCommand insert = new SqlCommand();
            insert.CommandType = CommandType.StoredProcedure;
            insert.CommandText = "AddProduct";
            insert.Connection = con;
            SqlParameter prm = insert.Parameters.Add("@Modelname", SqlDbType.NVarChar, 50);
            prm.Direction = ParameterDirection.Input;
            prm.Value = modeldetails.Name;
            prm = insert.Parameters.Add("@Price", SqlDbType.BigInt);
            prm.Direction = ParameterDirection.Input;
            prm.Value = modeldetails.price;
            prm = insert.Parameters.Add("@ManfacDate", SqlDbType.DateTime);
            prm.Direction = ParameterDirection.Input;
            prm.Value = modeldetails.ManfacturedDate;
            prm = insert.Parameters.Add("@ServiceNo", SqlDbType.NVarChar, 50);
            prm.Direction = ParameterDirection.Input;
            prm.Value = modeldetails.Serviceno;
            prm = insert.Parameters.Add("@MprocID", SqlDbType.Int);
            prm.Direction = ParameterDirection.Input;
            prm.Value = modeldetails.Manfac_Product_ID;
            prm = insert.Parameters.Add("@Image", SqlDbType.Image);
            prm.Direction = ParameterDirection.Input;
            prm.Value = modeldetails.UploadPhoto;
            



            int insertion_done = insert.ExecuteNonQuery();
            if (insertion_done == 1)
                return true;
            else
                return false;

  
        }


Entities:

HTML
[DataContract]
    public class Model
    {
        [DataMember]
        public string Name { set; get; }
        [DataMember]
        public string Serviceno { get; set; }
        [DataMember]
        public long price { get; set; }
        [DataMember]
        public byte[] UploadPhoto { set; get; }
        [DataMember]
        public string Configurationdetails { set; get; }
        [DataMember]
        public DateTime ManfacturedDate { set; get; }
        [DataMember]
        public int Manfac_Product_ID { set; get; }


    }
    [DataContract]
    public class Product
    {
        [DataMember]
        public int ProductID
        {
            get;
            set;
        }
        [DataMember]
        public string ProductName
        {
            get;
            set;
        }
        [DataMember]
        public int Manfac_Product_ID
        {
            get;
            set;
        }
    }
    [DataContract]
    public class Manfacture
    {
        [DataMember]
        public int ManfacturerID
        {
            get;
            set;
        }
        [DataMember]
        public string ManfactureName
        {
            get;
            set;
        }

    }


App.config for ServiceLibrary:


HTML
<system.servicemodel>
    <bindings>
      <basichttpbinding>
         <binding maxbufferpoolsize="2147483647" maxbuffersize="2147483647" maxreceivedmessagesize="2147483647" messageencoding="Text">
          <readerquotas maxdepth="2000000" maxstringcontentlength="2147483647" maxarraylength="2147483647" maxbytesperread="2147483647" maxnametablecharcount="2147483647" />    
      
        </binding>
      </basichttpbinding>
        
    </bindings>
    <services>
      
      <service name="StoreServiceLibrary.Store">
        
        <endpoint address="" binding="basicHttpBinding" contract="StoreServiceLibrary.IStore">
          
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseaddress="http://localhost:8733/Design_Time_Addresses/StoreServiceLibrary/Service1/" />
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <servicebehaviors>
        <behavior>
          <!-- To avoid disclosing metadata information, 
          set the values below to false before deployment -->
          <servicemetadata httpgetenabled="True" httpsgetenabled="True" />
          <!-- To receive exception details in faults for debugging purposes, 
          set the value below to true.  Set to false before deployment 
          to avoid disclosing exception information -->
          <servicedebug includeexceptiondetailinfaults="False" />
        </behavior>
      </servicebehaviors>
    </behaviors>
  </system.servicemodel>
Posted
Updated 23-Jul-14 3:41am
v5

1 solution

Hi,

You are sending a very large entity or a large list of entity to client

How to solve it.

XML
<system.servicemodel>
  <bindings>
    <basichttpbinding>
      <binding maxreceivedmessagesize="10485760"> 
        <readerquotas ...="" />
      </binding>
    </basichttpbinding>
  </bindings>  
</system.servicemodel>


Some ref : http://social.msdn.microsoft.com/Forums/vstudio/en-US/872fff1e-b78e-4b49-808c-558f46a11a17/the-maximum-message-size-quota-for-incoming-messages-65536-has-been-exceeded-to-increase-the?forum=wcf[^]

http://stackoverflow.com/questions/5337367/wcf-ws-throwing-maxreceivedmessagesizeexceeded[^]
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900