0

タイプ 'ServiceReference1.EmployeeModel' のオブジェクトをタイプ 'System.IConvertible' にキャストできません。上記のエラーとは正確には何ですか?それを回避するには、何をしなければなりませんか?

protected void btnCreate_Click(object sender, EventArgs e) 
{ 
  JavaScriptSerializer jsn = new JavaScriptSerializer(); 
  WebRequest request = WebRequest.Create("localhost:50506/Service1.svc/CreateEmployee";); 
  request.Method = "POST"; 
  request.ContentLength = 10; 

  EmployeeModel emp = new EmployeeModel(); //i added emp fields in to emp 
  Byte[] data = { Convert.ToByte(emp) }; 

  Stream requestStream = request.GetRequestStream(); 
  requestStream.Write(data, 0, data.Length); //in Byte[] data line the error is coming
}
4

1 に答える 1

0

従業員クラスが IConvertible インターフェイスを実装していないため、従業員オブジェクトをバイト配列に変換しようとすると、コードが失敗します。

何を達成しようとしているのかはわかりませんが、JavaScriptSerializer を宣言しているため、json を返す必要があるようです。あなたはこれを探しているかもしれません:

 void btnCreate_Click(object sender, EventArgs e) { 
     JavaScriptSerializer jsn = new JavaScriptSerializer(); 
     WebRequest request = WebRequest.Create("localhost:50506/Service1.svc/CreateEmployee";); 
     request.Method = "POST"; 
     request.ContentLength = 10;  
     EmployeeModel emp = new EmployeeModel(); 

     string data = jsn.Serialize(emp);
     Stream requestStream = request.GetRequestStream(); 
     requestStream.Write(data, 0, data.Length); 
  } 
于 2012-04-06T13:38:35.713 に答える