Я работаю с azure функциями v1, функция использует рули для преобразования текста, и я создал специальный помощник для сравнения
, который создает вспомогательную сборку со следующим кодом:
string parametro = "";
for (int i = 0; i < parameters.Length - 1; i++)
{
if (((JValue)parameters[i]).Type == JTokenType.String)
parametro += $"var parametro{i} = \"{parameters[i].ToString()}\";";
else
parametro += $"var parametro{i} = {parameters[i].ToString()};";
}
SyntaxTree syntaxTree = CSharpSyntaxTree.ParseText(@"
using System;
namespace Condicionar
{
public class Comparador
{
public bool Comparar ()
{
" + parametro + @"
return " + parameters[parameters.Length - 1].ToString() + @";
}
}
}");
где parameters
- параметры, передаваемые помощнику (вещи для сравнения)
параметр las (parameters[parameters.Length - 1]
) - строка с кодом сравнения.
когда я запускаю functino, который выполняет этот код в azure, он работает нормально, но когда нагрузка высока (несколько тысяч вызовов), функция начинает выдавать исключение "сборка не может быть загружена, доступ запрещен. "
Я не понимаю, почему у меня возникла исключительная ситуация, сборка скомпилирована и загружена в память, поэтому нет общего доступа.
Есть ли какие-либо ограничения azure на то, что я ' я делаю (cmopiling и выполнение скомпилированного кода во время выполнения)?