Если захостить remotable-объект в виндовом сервисе, сделать его singleton'ом, в интерфейсе объявить два OneWay-метода, вызвать их один за другим из клиента, то второй метод на сервере просто не вызовется, если есть другие методы, вызываемые синхронно. Непонятно почему. Даже если другие методы вынести в отдельный интерфейс и в отдельный remotable-объект, то всё равно не помогает. Если между вызовами методов вставить небольшую задержку, милисекунд так 10, то второй иногда вызывается, а иногда нет. Если сделать задержку больше, то второй вызывается. Если вызывать синхронно, то второй вызывается. Даже если не обращаться ко второму объекту, то всё равно не вызывается, а если его закомментить полностью на стороне сервера и в интерфейсе, то вызывается. Асинхронно один за другим вызывать не хочется, да и нет смысла, так как методы ничего не возвращают и OneWay для них самое то. SingleCall тоже не вариант, так как читать конфиг и коннектиться к базе данных при каждом вызове метода нет смысла, да и состояние необходимо хранить в классе.
Очень странно .Net себя ведёт порой. Может быть, я что-то не понимаю? Может, кто-нибудь знает, в чём проблема?
Я туплю. Я одновременно пытался писать в один файл из двух вызовов одним за другим. Странно, что никаких исключений не возникало и singleton даже не умирал и не создавался снова, как это обычно происходит.