/* private static void ProcessMessageWithInstanceReference(byte[] message, ILogger log) * { * // Get a reference to a blob named "sample-file" * CloudBlob blob = container.GetBlobReference(Encoding.UTF8.GetString(message)); * * // Read Blob * Stream stream = blob.OpenRead(); * DicomFile dicomFile = DicomFile.Open(stream); * * System.Diagnostics.Trace.WriteLine(ToInstanceIdentifier(dicomFile.Dataset).ToString()); * log.LogInformation(ToInstanceIdentifier(dicomFile.Dataset).ToString()); * * StoreRetrievedData(dicomFile); * * log.LogInformation("Successfully stored file."); * } * * private static void ProcessMessageWithStudyReference(byte[] message, ILogger log) * { * string studyBlobs = Encoding.UTF8.GetString(message); * * string[] instances = studyBlobs.Split(','); * * foreach (string instance in instances) * { * // Get a reference to a blob named "sample-file" * CloudBlob blob = container.GetBlobReference(instance); * * // Read Blob * Stream stream = blob.OpenRead(); * DicomFile dicomFile = DicomFile.Open(stream); * * System.Diagnostics.Trace.WriteLine(ToInstanceIdentifier(dicomFile.Dataset).ToString()); * log.LogInformation(ToInstanceIdentifier(dicomFile.Dataset).ToString()); * * // StoreRetrievedData(dicomFile); * * log.LogInformation("Successfully stored file."); * } * } */ private static void ProcessMessageWithPreGeneratedData(byte[] message) { PatientInstance pI = JsonSerializer.Deserialize <PatientInstance>(Encoding.UTF8.GetString(message)); // 400, 400, 100 - 16MB // 100, 100, 100 - 1MB // 100, 100, 50 - 0.5MB DicomFile dicomFile = Samples.CreateRandomDicomFileWithPixelData( pI, rows: 100, columns: 100, frames: 50); StoreRetrievedData(dicomFile); }
private static async Task Stow(Message message, CancellationToken token) { PatientInstance pI = JsonSerializer.Deserialize <PatientInstance>(Encoding.UTF8.GetString(message.Body)); // 400, 400, 100 - 16MB // 100, 100, 100 - 1MB // 100, 100, 50 - 0.5MB DicomFile dicomFile = Samples.CreateRandomDicomFileWithPixelData( pI, rows: 100, columns: 100, frames: 50); DicomWebResponse <DicomDataset> response = await client.StoreAsync(new List <DicomFile>() { dicomFile }, cancellationToken : token); int statusCode = (int)response.StatusCode; if (statusCode != 409 && statusCode < 200 && statusCode > 299) { throw new HttpRequestException("Stow operation failed", null, response.StatusCode); } return; }