0

サービスバスキューメッセージの送信と受信、テーブルへのエントリの追加、最後にsocket.ioサーバーへのイベントの送信など、多くの処理を行うAPIがあります。これらすべてを同時実行によって保護したいと考えています。Lock を使用していますが、うまくいかないようです。私は何か不足していますか?以下は私のコードです

 public class BroadcastController : ApiController
{
private readonly Object _Lock = new Object();

    [HttpPost]
    [ActionName("UploadRecording")]
    public async Task<HttpResponseMessage> UploadRecording()
    {
        // Check if the request contains multipart/form-data.
        if (!Request.Content.IsMimeMultipartContent())
        {
            throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
        }

        string path = Path.GetTempPath();            

        var provider = new MultipartFormDataStreamProvider(path);                       

        // Read the form data and return an async task.
        var response = await Request.Content.ReadAsMultipartAsync(provider);

// processing the mime content

lock (_Lock)
            {

                // sending and receiving service bus messages
                // adding records to table
               // sending an event to socket.io

return Request.CreateResponse(HttpStatusCode.OK, new ResponseMessage<PersistedAudioRecord> { SuccessCode = 1, Message = "Broadcast Uploaded", Data = updatedRecord });
}   }    }
4

1 に答える 1