You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
public class student
{
public int a{get;set;}
public int b{get;set;}
}
public interface IStudentService
{
AddStudent(student s);
}
客户端
[JsonObject] //添加特性
public class student
{
[JsonProperty]
public int a{get;set;}
[JsonProperty]
public int b{get;set;}
}
.....
student stu= DeserializeObject(file.readtext());
Client.AddStudent(stu);//调用失败!!!!!
[JsonObject] //添加特性
public class JsonStudent
{
[JsonProperty]
public int a{get;set;}
[JsonProperty]
public int b{get;set;}
}
public class student
{
public int a{get;set;}
public int b{get;set;}
}
JsonStudent jsonstu= DeserializeObject(file.readtext());
student rpc_stu=new stduent();
rpc_stu.a=jsonstu.a;
rpc_stu.b=jsonstu.b;
Client.AddStudent(rpc_stu);//调用成功!!!
当客户端和服务端数据交互的类 的特性不一致 就会RPC调用失败:
这句话可能说的不太明白,请看代码:
服务端:
客户端
在客户端,上述代码中的student类即作为json的存储类,又作为和server交互的数据类,上述写法会调用失败,除非我把student的特性去掉。现阶段我的解决方案是这么写的:
可见,客户端的类和服务器的类必须一致才可以,在这个例子中束缚了写法,必须定义两个类,我认为客户端和服务端的数据交互 传递的有效数据是 各个类中的具体字段、属性等等, 特性这个应该被忽略掉,这样我最开始的第一种写法就可以了,就不用重新定义类了
The text was updated successfully, but these errors were encountered: