Я не использую c # с Excel, только VBA, но я предполагаю, что применяются аналогичные ограничения.Проблема с вызовом чего-то удаленного через udf (особенно когда вы делаете это много) заключается в том, что рабочая книга перестает отвечать на запросы, и вы не можете контролировать процесс вычисления.Однако даже если бы вы могли выяснить, как асинхронно запускать ваш udf, это, вероятно, нарушило бы внутреннее отслеживание Excel того, как рассчитать рабочую книгу для учета зависимостей ячеек.
Какие вычисления выполняются на сервере?Не могли бы вы просто переместить их в надстройку и таким образом повысить производительность UDF?
Если вы не можете этого сделать, то вы можете попробовать подход, основанный на событиях (например, используя событие изменения рабочего листа какупоминалось ранее), но у вас все еще есть трудности, которые могут вам понадобиться для того, чтобы весь лист в конечном итоге был полностью рассчитан, и выполнение этой работы может оказаться более трудоемким, чем оно того стоит.Не забывайте также, что даже при асинхронной работе существует ограничение на количество подключений, которые ваша ОС может открыть за один раз, поэтому нельзя отправлять вызовы для десятков ячеек одновременно ...