远程服务器返回了意外的响应:(400)错误的请求。
一切工作正常发送到WCF和图像不是那么大〜90kb。我在这方面发现了很多线索,但没有什么能帮助我。我试图增加大小限制,但这不起作用。
的web.config
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="2000000" maxReceivedMessageSize="2000000"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
allowCookies="false">
maxBytesPerRead="2000000" maxNameTableCharCount="2000000" />
algorithmSuite="Default" establishSecurityContext="true" />
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IService"
contract="ServiceReference.IService" name="WSHttpBinding_IService">
的app.config
connectionString="Data Source=(local);Initial Catalog=Webbshop;Integrated Security=True"
providerName="System.Data.SqlClient" />
页代码。
protected void btnAdd_Click(object sender, EventArgs e)
{
Produkt produkt = new Produkt();
produkt.Namn = txtNamn.Text;
produkt.Pris = Convert.ToDouble(txtPris.Text);
produkt.Beskrivning = txtbeskrivning.Text;
produkt.LagerAntal = Convert.ToInt32(txtAntal.Text);
produkt.Typ = txtGenre.Text;
//produkt.ImageAsByte = fupBild.FileBytes;
produkt.Bild = new System.Drawing.Bitmap(fupBild.PostedFile.InputStream);
using (ServiceReference.ServiceClient wcfClient = new ServiceReference.ServiceClient())
{
wcfClient.AddProdukt(produkt);
}
}
WCF代码。
public void AddProdukt(Produkt produkt)
{
DataSetTableAdapters.ProduktTableAdapter itemsTA = new
WcfDataLager.DataSetTableAdapters.ProduktTableAdapter();
byte[] bmpAsByte;
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
produkt.Bild.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);
stream.Position = 0;
bmpAsByte = new byte[stream.Length];
stream.Read(bmpAsByte, 0, (int)stream.Length);
stream.Close();
}
produkt.ID = 7;
itemsTA.InsertProdukt(produkt.Namn, produkt.Pris, produkt.Beskrivning, produkt.LagerAntal, bmpAsByte);
itemsTA.InsertGenre(produkt.Typ, produkt.ID);
DataSet dataset = new DataSet();
itemsTA.Adapter.Update(dataset);
}