У меня есть абстрактный класс «Сервер», который я создаю в своем JavaScript в своем пользовательском интерфейсе, а затем я хочу, чтобы в моей веб-службе был метод, который выполняет следующие действия:
public List<Database> GetDatabases(Server server)
{
Type type = server.GetType();
Server x = null;
if (typeof (SqlServer2005Server).Equals(type))
{
x = new SqlServer2005Server();
}
// Return the Databases from the server
return x.GetDatabases();
}
Проблема, с которой я сталкиваюсь, заключается в том, что сервер не может быть десериализован, поскольку он является абстрактным. Нужно ли иметь метод для каждого сервера, который у меня есть, который наследуется от конкретного типа, т.е.
public List<Database> GetDatabases(SqlServer2005Server server)
{
// Return the Databases from the server
return SqlServer2005Serverx.GetDatabases();
}
public List<Database> GetDatabases(OracleServer server)
{
// Return the Databases from the server
return SqlServer2005Serverx.GetDatabases();
}
Я был бы очень признателен за вашу помощь, так как не уверен, что это лучшее решение
Точная ошибка, которую я получаю:
Экземпляры абстрактных классов не могут быть созданы.