В приведенном ниже коде вложенные объекты объектно-безопасные? Если код вызова вносит изменения в объект вложений, а приложение работает с несколькими потоками, что может случиться?Является ли этот класс/метод C# безопасным потоком и одновременным доступом безопасным?
Спасибо.
public static class Util {
public static int AddMessage(string message, IEnumerable<FileAttachment> attachments, Dictionary<int, object> customFieldValues = null, int? assigneeUserId = null) {
foreach (FileAttachment current2 in attachments) {
//do something
}
}
}
Спасибо. И если этот код размещен на веб-сайте, размещенном под II, а несколько пользователей одновременно получают доступ к одной и той же странице (я имею в виду один и тот же код), что может произойти? является ли это одновременным доступом к веб-сайту, размещенному под II? – stacker
@stacker, если вы используете ASP.NET, должны знать, что рабочий процесс может в любой момент переработать, в результате чего ваши данные в памяти будут потеряны без предупреждения. – usr
@stacker Нет никакого способа узнать, является ли это потокобезопасным или нет кодом, но если вы работаете с общими/статическими данными, это скорее всего не будет потокобезопасным. –