.net 需要帮助控制数据契约wcf吗
我正在处理WCF,希望控制我的服务的输出。以下是我的课程:.net 需要帮助控制数据契约wcf吗,.net,wcf,wcf-data-services,.net,Wcf,Wcf Data Services,我正在处理WCF,希望控制我的服务的输出。以下是我的课程: [DataContract] public class Authenticate { [DataMember(order=1)] public int result; [DataMember(order=0)] Public string message; } [Operation Contract] public interface IService1 { Authenticate Login(string UName,string
[DataContract]
public class Authenticate
{
[DataMember(order=1)]
public int result;
[DataMember(order=0)]
Public string message;
}
[Operation Contract]
public interface IService1
{
Authenticate Login(string UName,string Password);
}
public class Service1:IService1
{
public Authenticate Login(string UName,string Password)
{
Authenticate result=new Authenticate();
if(UName=="mohit" && Password=="mohit")
{
result.result=1;
result.message="success";
}
else
{
result.result=0;
result.message="failure";
}
return result;
}
}
此方法的输出XML(忽略元数据标记)为
成功
1.
我想要的输出是:
<authenticate>
<result>1</result>
<message>success</message>
</authenticate>
1.
成功
我尝试在Datamember中设置不起作用的名称
另外,无论我在datamember中设置了什么顺序,消息标记总是显示在结果之前(似乎是按字母顺序排列的)。在您的示例中,您明确地设置了
datamember的顺序:
[DataContract]
public class Authenticate
{
[DataMember(order=1)]
public int result;
[DataMember(order=0)]
Public string message;
}
它按照从低到高的顺序排列,因此您已经明确定义了输出的顺序,即它实际发生的方式。如果要将结果放在第一位,并将消息“第二位”的值反转为“顺序”
:
[DataContract]
public class Authenticate
{
[DataMember(order=0)]
public int result;
[DataMember(order=1)]
Public string message;
}
谢谢你的回复,我想我也试过了,不过我会再试一次。你知道我的其他问题吗?这是我最关心的问题
[DataContract]
public class Authenticate
{
[DataMember(order=0)]
public int result;
[DataMember(order=1)]
Public string message;
}