создание сборки во время выполнения выдает исключение через некоторое время - PullRequest
0 голосов
/ 07 марта 2020

Я работаю с 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 и выполнение скомпилированного кода во время выполнения)?

...