fix some race conditions

- use session lock for SetKeyValuePair* endpoints
- use session lock for SetAchievementByEntityIDs endpoints
This commit is contained in:
Robert Paciorek 2023-09-16 18:05:39 +00:00 committed by Spirtix
parent 1d08f92498
commit 9071d0bf37
2 changed files with 2 additions and 2 deletions

View File

@ -179,7 +179,7 @@ public class AchievementController : Controller {
[HttpPost]
[Produces("application/xml")]
[Route("AchievementWebService.asmx/SetAchievementByEntityIDs")]
[VikingSession]
[VikingSession(UseLock=true)]
public IActionResult SetAchievementByEntityIDs(Viking viking, [FromForm] int achievementID, [FromForm] string petIDs) {
Guid[] petGuids = XmlUtil.DeserializeXml<Guid[]>(petIDs);

View File

@ -115,7 +115,7 @@ public class ContentController : Controller {
[Produces("application/xml")]
[Route("ContentWebService.asmx/SetKeyValuePair")]
[Route("ContentWebService.asmx/SetKeyValuePairByUserID")]
[VikingSession(Mode=VikingSession.Modes.VIKING_OR_USER)]
[VikingSession(Mode=VikingSession.Modes.VIKING_OR_USER, UseLock=true)]
public IActionResult SetKeyValuePairByUserID(User? user, Viking? viking, [FromForm] int pairId, [FromForm] string contentXML, [FromForm] string? userId) {
Schema.PairData schemaData = XmlUtil.DeserializeXml<Schema.PairData>(contentXML);