2013-05-19 3 views
0

У меня есть веб-метод, который принимает объектраспаковка объект

[WebMethod] 
public static void GetObject(object data) 
{ 

} 

Кроме того, у меня есть 2 классов:

class ConnectionString 
{ 
    public string ConnectionString { get; set; } 

    public DatabaseType DatabaseType { get; set; } 
} 

class Path 
{ 
    public string Path { get; set; } 

    public bool IsNetwork { get; set; } 
} 

На стороне клиента, с помощью JavaScript, я определен 2 подобные классы, а также:

function ConnectionString() { 
    this.ConnectionString = ''; 
    this.DatabaseType = 0; 
}; 

function Path() { 
    this.Path = ''; 
    this.IsNetwork = false; 
}; 

Теперь, в соответствии с пользовательским решением, он может использовать эфир для создания журнала в базе данных или в файловой системе. Когда я отправляю данные методу, мой объект имеет значение null. Если я создаю метод для каждого объекта, он работает. Есть ли способ распаковать или desirialize из типа OBJECT?

ответ

0

Вам необходимо создать две перегрузки метода, которые каждый из них принимает в одном из возможных классов. В текущей реализации движок не знает, какие классы следует поместить в WSDL ...

Если вы используете WCF, вы можете использовать атрибут [KnownType], чтобы указать классы, поддерживаемые вашим методом.

Смежные вопросы