Как сохранить значение поля между запросами на С#?C#

Место общения программистов C#
Ответить
Anonymous
 Как сохранить значение поля между запросами на С#?

Сообщение Anonymous »

У меня есть следующая услуга:

Код: Выделить всё

public class MyService: IMyService
{
private string myToken;

public MyService()
{
}

public void SetMyToken(string token)
{
Console.WriteLine($"This is the parameter token: {token}");
myToken = token;
Console.WriteLine($"This is myToken: {myToken}");
}

public async Task TriggerPipeline()
{
Console.WriteLine($"Calling TriggerPipeline function. myToken: {myToken}");
// the rest of the code
}
}
У меня есть следующий контроллер:

Код: Выделить всё

[Route("[controller]")]
[ApiController]
public class MyController: ControllerBase
{
private readonly IMyService _myService;

public MyController(IMyService myService,)
{
_myService = myService;
}

[HttpGet("set-token")]
public async Task SetToken(string token)
{
_myService.SetMyToken(token);
return Ok("Token set successfully");
}

[HttpPost("trigger-pipeline")]
public async Task TriggerPipeline()
{
// the rest of the code
}
}
В контроллере, когда я вызываю конечную точку SetToken и передаю «123», а затем вызываю конечную точку TriggerPipeline, я получаю это на консоли:

Код: Выделить всё

This is the parameter token: 123
This is myToken: 123
Calling TriggerPipeline function. myToken:
Как видите, после одного Http-вызова SetToken я могу сохранить значение токена (

Код: Выделить всё

"123"). Однако после еще одного Http-вызова TriggerPipeline
я больше не сохраняю этот токен.
В моем Program.cs я уже использую Scoped Services:< /p>

Код: Выделить всё

builder.Services.AddScoped();
Я могу заставить это работать, просто сделав myToken статическим полем. Но в моем случае я не хочу этого делать, потому что всякий раз, когда кто-то входит в систему, я хочу, чтобы токен был привязан к этому пользователю. Может ли кто-нибудь помочь мне в этом вопросе?

Подробнее здесь: https://stackoverflow.com/questions/790 ... uests-in-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»