0
多くのリクエストが入ってくると、いくつかの一般的なgdi +エラーコードが表示されます。ほとんどの場合、この部分にエラーはありません。ジェネリックGDI +エラーが発生しましたQRコード
が、私はエラーがこれは、複数のスレッド(1つのコール= 1つのスレッドによって呼び出され
string guidString = Guid.NewGuid().ToString();
string dateNowString = DateTime.Now.ToString("ddMMyyyHHmmssfff");
var localFilePath = @"c:\temp\" + dateNowString + ".png";
//Create QrCode on local
QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
QrCode qrCode = qrEncoder.Encode(pass.Barcode);
Renderer renderer = new Renderer(5, Brushes.Black, Brushes.White);
renderer.CreateImageFile(qrCode.Matrix, localFilePath, ImageFormat.Png);
/*using (MemoryStream ms = new MemoryStream())
{
using (FileStream stream = new FileStream(localFilePath, FileMode.Create))
{
renderer.WriteToStream(qrCode.Matrix, ms, ImageFormat.Png);
}
}*/
//Upload locally saved QR image to AWS S3
string bucketName = ConfigurationManager.AppSettings["bucketName"].ToString();
var s3Client = new S3(bucketName, guidString);
string key = guidString + dateNowString + ConfigurationManager.AppSettings["FileFormatExtension"].ToString();
qrCodeUrl = s3Client.UploadFile(localFilePath, key);
//Delete QrCode image on local
if (File.Exists(localFilePath))
{
File.Delete(localFilePath);
}
//Save QrCode Url to BoardingPass Table
pass.QrCodeUrl = qrCodeUrl;
data.SaveChanges();
この部分にあることを信じて、私は同時に、これらのスレッドを実行するようにタスクを適用しています、スレッドは、この部分呼び出すことができます以上)回
ここでスタックトレースが
at System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams) at Gma.QrCodeNet.Encoding.Windows.Controls.Renderer.CreateImageFile(BitMatrix matrix, String fileName, ImageFormat imageFormat) at <redacted>API.Helpers.BoardingPassHelper.GenerateQRCode(BoardingPassRequest request) in <redacted>.API\Helpers\BoardingPassHelper.cs:line 972 at BCSBoardingPass.API.Controllers.API.BoardingPassController.GenerateMultiPaxBoardingPass(MBPRequest mbpRequest, Int32 requestIndex, Boolean isMbp) in <redacted>controllers\API\BoardingPassController.cs:line 615
2つのスレッドが同じファイルを作成しようとしている可能性はありますか?テストするだけの日付サフィックスではなく、実行中のカウンタでファイル名を変更してみてください。 –