Код: Выделить всё
public class TestController
{
public HttpResponseMessage Post([FromBody] Test testEntity, string value)
{
testEntity.Create(value);
return Request.CreateResponse(HttpStatusCode.OK, Test);
}
public class Test
{
public int id {get;set;}
public void Create(string entry)
{
Console.WriteLine(entry);
id = 55;
var luceneService = new LuceneService();
Task.Run(() => luceneService.CreateLuceneIndex(this));
}
}
public class LuceneService
{
public void createLuceneIndex(Test test)
{
Console.WriteLine(test.id) // the id being 0 here instead of 55
}
}
Когда мы делаем несколько вызовов Post из браузера в TestController, метод Test.Create принимает значение и записывает его на консоль. Затем он устанавливает для свойства Test.id значение 55. После этого он создает отдельную задачу для запуска метода createLuceneIndex, передав ему this (экземпляр Test ). Но когда я проверяю метод createLuceneIndex, он по-прежнему устанавливает id равным 0 вместо 55.
Может кто-нибудь объяснить, почему идентификатор > недвижимость не заселяется?
Подробнее здесь: https://stackoverflow.com/questions/782 ... ted-values
Мобильная версия