如何读取自定义数据类型

时间:2012-05-13 16:41:18

标签: c# wcf windows-phone-7 windows-phone-7.1 custom-attributes

我是从WCF创建的这个回复,我可能知道如何才能具体读取数据?

[DataContract]
public class UserData
{
    [DataMember]
    public int userID { get; set; }

    [DataMember]
    public string name { get; set; }

    [DataMember]
    public string email { get; set; }

    [DataMember]
    public string contact { get; set; }

    [DataMember]
    public string status { get; set; }
}

这是WCF方并从WCF返回,我想从Window手机中读取此内容。我可以知道有一些例子吗?谢谢你的回复

更新

手机部分中我想使用数据的代码

        private Service1Client _serviceClient;
    public Login()
    {
        InitializeComponent();
        _serviceClient = new Service1Client();
        _serviceClient.LoginUserCompleted += new EventHandler<LoginUserCompletedEventArgs>(_serviceClient_LoginUserCompleted);

    }

    private void loginBtn_Click(object sender, RoutedEventArgs e)
    {
        _serviceClient.LoginUserAsync(txtEmail.Text, txtPassword.Password);
    }

    private void _serviceClient_LoginUserCompleted(object sender, LoginUserCompletedEventArgs e)
    {

        if (e.Error == null && e.Result != null)
        {
            (App.Current as App).MyUserID = 16;
            MessageBox.Show("Welcome " + e.Result + "!");
            //ContentPanel.Visibility = Visibility.Collapsed;
            //Data.Visibility = Visibility.Visible;
            //Testing.ItemsSource = e.Result;

想知道如何使用这几行代码来相应地读取数据,将其列入列表或者可以提取特定数据,目前这几行代码给我这个答案:: < / p>

            WCFReference.UserData
        }
        else
        {
            MessageBox.Show(e.Error.InnerException.Message + " Couldn't Login, Please try again =D");
        }
    }

2 个答案:

答案 0 :(得分:1)

如果您正在使用SOAP协议,您可以构建一个WSDL来描述Web服务,也可以根据您对Web服务的了解在客户端上创建自定义类。

如果您正在使用REST协议(这将是WP7应用程序的最佳替代方案),您必须根据您的知识在客户端上创建类,因为没有可以描述REST Web服务的WSDL。

这是一个开始。

public class UserData
{
    public int userID { get; set; }
    public string name { get; set; }
    public string email { get; set; }
    public string contact { get; set; }
    public string status { get; set; }
}

现在你只需要解析来自webservice请求的响应作为UserData类,并且你已经完成了设置。

正如有些人所指出的那样,如果您愿意,可以使用网络服务作为服务参考,但有时它会让事情变得混乱。

答案 1 :(得分:0)

您可以通过创建服务引用(代理)来使用公开的Web服务。

查看以下网址