我想使用httpwebrequest将类对象从Web表单传递到Web。我可以传递一个字符串值,但不能传递复杂的对象类型。
以下是我的代码段:
private void BtnSend_Click(object sender, EventArgs e)
{
Employee employee = new Employee();
employee.FirstName = "abc";
employee.LastName = "xyz";
//Serialize the object into stream before sending it to the remote server
MemoryStream memmoryStream = new MemoryStream();
BinaryFormatter binayformator = new BinaryFormatter();
binayformator.Serialize(memmoryStream, employee);
//var dataBytes = System.Text.Encoding.UTF8.GetBytes(employee.ToString());
var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://localhost:51953/Home/Contact");
httpWebRequest.ContentType = "application/x-www-form-urlencoded";
httpWebRequest.ContentLength = memmoryStream.Length;
//httpWebRequest.ContentLength = dataBytes.Length;
httpWebRequest.Method = "POST";
Stream dataStream = httpWebRequest.GetRequestStream();
byte[] buffer = new byte[memmoryStream.Length];
int count = memmoryStream.Read(buffer, 0, buffer.Length);
dataStream.Write(buffer, 0, buffer.Length);
//dataStream.Write(dataBytes, 0, dataBytes.Length);
//dataStream.Flush();
//dataStream.Close();
WebResponse response = httpWebRequest.GetResponse();
//lblShow.Text = ((HttpWebResponse)response).StatusDescription;
dataStream = response.GetResponseStream();
StreamReader streamReader = new StreamReader(dataStream);
string responseFromServer = streamReader.ReadToEnd();
// Display the content.
//lblShow.Text += " " + responseFromServer;
streamReader.Close();
response.Close();
}
}
注释的代码用于发送我可以执行的字符串值,但是现在我想传递对象类型。
在Web服务器代码上,我获得了传递为null的值。
以下是我的员工班级:
[Serializable]
public class Employee
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
因此,可以使用任何方法通过任何方式将对象类型从Winforms传递到Web。
任何指导或帮助都很好。
在此先感谢!!! ..