У меня есть другая перспектива ответить на это.
При работе на разных уровнях, например, в приложении MVC, контроллеру нужны службы для вызова бизнес-операций. В таких сценариях контейнер инжекции зависимостей может использоваться для инициализации служб, чтобы исключить исключение NullReferenceException. Это означает, что вам не нужно беспокоиться о проверке нулевого значения и просто вызвать службы с контроллера, как будто они всегда будут доступны (и инициализированы) как одиночный или прототип.
public class MyController
{
private ServiceA serviceA;
private ServiceB serviceB;
public MyController(ServiceA serviceA, ServiceB serviceB)
{
this.serviceA = serviceA;
this.serviceB = serviceB;
}
public void MyMethod()
{
// We don't need to check null because the dependency injection container
// injects it, provided you took care of bootstrapping it.
var someObject = serviceA.DoThis();
}
}
Отметьте https://forums.oracle.com/forums/thread.jspa?messageID=2540479 , возможно, вы должны изменить параметр хоста файла listener.ora на свой параметр хоста. Вы можете проверить, какой параметр является вашим именем хоста в windows, cmd> hostname
Кажется, у пула соединений заканчиваются соединения ... Когда буфер входящего буфера прослушивателя СУБД перегружен многими одновременными запросами на соединение. Это приведет к сбою некоторых из них.
вы можете немного смикнуть поток (от полусекунд до секунды или около того) между последовательными запросами на соединение. После этого не закрывайте соединения, пока они не сломаются. Храните их и повторно используйте их.
попробуйте выполнить