解析远程服务器响应错误,远程服务器返回一个意外的响应:(400)错误的请求,WCF...

在尝试向WCF服务发送数据时遇到了400 Bad Request错误,尽管图片大小约为90kb,且已尝试增大消息大小限制。问题出现在Web.config和app.config的配置中,涉及到了WCF服务客户端的连接超时和最大消息大小设置。代码段显示了如何在按钮点击事件中处理产品添加操作,包括图像的读取和保存,以及调用WCF服务的方法。然而,这些调整并未解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

远程服务器返回了意外的响应:(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);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值