我想这样发送没有一个单一的对象,而是一个复杂的对象从SERVER1到SERVER2。发送一个复杂的对象从SERVER1到SERVER2
服务器1:
/// <summary>
/// SERVER 1
/// </summary>
internal void SomeActionMethod(Guid sid, CustomClass2 offer, List<CustomClass1> calculation)
{
//The reason for wrapping this, is that "PostAsJsonAsync" will only except 1 dto, but I need both.
List<Object> dto = new List<object>();
dto.Add(offer);
dto.Add(calculation);
var resp = _client.PostAsJsonAsync(_baseadress + @"someController/SomeActionMethod?sid=" + sid.ToString(), dto).Result;
if (!resp.IsSuccessStatusCode)
throw new Exception(...);
}
服务器2:
/// <summary>
/// SERVER 2
/// </summary>
public void SomeActionMethod(Guid sid, [FromBody]List<object> dto)
{
//unwrapp
CustomClass2 offer=new CustomClass2();
List<CustomClass1> calculation=new List<CustomClass1>();
foreach (var server1_item in dto)
{
if (server1_item is CustomClass2)
offer = (CustomClass2)server1_item;
else if (server1_item is List<CustomClass1>)
calculation = (List<CustomClass1>)server1_item;
else
continue;
}
//Do some stuff
}
我得到一些JSON,但没有的事,我可以检查对(server1_item is CustomClass2)
。
怎么办,我该如何解决这个问题?
谢谢。