1. C# / Говнокод #26051

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    public static long NextTimestamp()
    {
    	if (initTimestamp == null)
    	{
    		lock (syncRoot)
    		{
    			if (initTimestamp == null)
    			{
    				initTimestamp = false;
    				var sessionProvider = Locator.GetServiceNotNull<ISessionProvider>();
    				TimestampService.GetTimestamp();
    				sessionProvider.CloseSession("");
    				initTimestamp = true;
    			}
    		}
    	}
    
    	return initTimestamp.Value ? TimestampService.GetTimestamp() : 0;
    }

    Нельзя просто взять и вызвать TimestampService.GetTimestamp() - StackOverflowException получишь. Вот как надо!

    Запостил: scrappyabc, 27 Ноября 2019

    Комментарии (2) RSS

    • А что делает "TimestampService.GetTimestamp()"?
      Ответить
      • Видимо, первый вызов что-то там инициализирует, а инициализация может происходить только при открытой сессии. Ленивая инициализация такая трудолюбивая.
        Ответить

    Добавить комментарий