使用c#将序列化对象传递给.asmx中的webmethod

时间:2014-07-23 10:13:21

标签: c# asp.net web-services asmx

从我的aspx.cs(代码隐藏)我正在使用webmethod(.asmx)

现在我正在尝试将GUID从我的代码隐藏作为对象传递给webmethod。 我不能直接这样做,因为它给了我这个错误:

使用XmlInclude或SoapInclude属性指定静态未知的类型。

所以,我试图创建一个类

[Serializable]
public class Key
{
    public Guid _key; 
    public Guid Key
    {
        get
        {
            return _key;
        }

        set
        {
            _key =  new Guid(ConfigurationManager.AppSettings["key"]);
        }
    }
}

public object AuthKey()
    { 
        Key obj = new Key();   
        return obj;
    }

//Calling the webservice like this,

get_list_webservice.return_data objlist = get_list_webservice.GetList(AuthKey());

//WebMethod
 public return_data get_list_webservice(object obj)
        {

}

现在,我正在使用它传递给web方法。但仍然没有工作......

这有什么问题?我知道该对象应该在将其发送到webmethod时序列化。但我在哪里做错了?在哪里使用XMLInclude?

1 个答案:

答案 0 :(得分:0)

如果Web方法将object作为参数,那么您可以将任何内容作为参数传递。您需要告诉代码可能性是什么:

[XmlInclude(typeof(System.Guid))] 
public return_data get_list_webservice(object obj)