Sends a C-STORE-REQ message to a peer member of a connection defined by SCP.
Syntax
Parameters
- Scp
- The peer connection to send the C-STORE-REQ to.
- dataset
- The dataset to send.
Exceptions
Example
Stores a dataset a remote DICOM server.
Visual Basic | Copy Code |
---|
Public Sub StoreDataset()
DicomEngine.Startup()
DicomNet.Startup()
Dim cstoreDataset As StoreScu = New StoreScu()
Dim scp As DicomScp = New DicomScp()
Dim ds As DicomDataSet = New DicomDataSet()
'
' Change these parameters to reflect your Dicom server.
'
scp.AETitle = "MI_SERVER"
scp.Port = 104
scp.Timeout = 60
scp.PeerAddress = IPAddress.Parse("10.1.1.96")
ds.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.dcm"), DicomDataSetLoadFlags.None)
AddHandler cstoreDataset.ReceiveBuffer, AddressOf cstoreDataset_ReceiveBuffer
AddHandler cstoreDataset.BeforeCStore, AddressOf cstoreDataset_BeforeCStore
AddHandler cstoreDataset.AfterCStore, AddressOf cstoreDataset_AfterCStore
cstoreDataset.Compression = Compression.Lossless
cstoreDataset.Store(scp, ds)
DicomNet.Shutdown()
DicomEngine.Shutdown()
End Sub
Private Sub cstoreDataset_ReceiveBuffer(ByVal sender As Object, ByVal e As ReceiveBufferEventArgs)
Console.WriteLine("{0} bytes of data received", e.BufferSize)
End Sub
Private Sub cstoreDataset_BeforeCStore(ByVal sender As Object, ByVal e As BeforeCStoreEventArgs)
'
' Stop storing if we received an error
'
If Not e.Error Is Nothing Then
e.Skip = SkipMethod.AllFiles
End If
End Sub
Private Sub cstoreDataset_AfterCStore(ByVal sender As Object, ByVal e As AfterCStoreEventArgs)
Dim msg As String
msg = String.Format("Dataset store complete. Status: {0}", e.Status)
Console.WriteLine(msg)
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class |
C# | Copy Code |
---|
public void StoreDataset()
{
DicomEngine.Startup();
DicomNet.Startup();
StoreScu storeDataset = new StoreScu();
DicomScp scp = new DicomScp();
DicomDataSet ds = new DicomDataSet();
//
// Change these parameters to reflect your Dicom server.
//
scp.AETitle = "MI_SERVER";
scp.Port = 104;
scp.Timeout = 60;
scp.PeerAddress = IPAddress.Parse("10.1.1.96");
string fileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.dcm");
ds.Load(fileName, DicomDataSetLoadFlags.None);
storeDataset.ReceiveBuffer += new ReceiveBufferDelegate(storeDataset_ReceiveBuffer);
storeDataset.BeforeCStore += new BeforeCStoreDelegate(storeDataset_BeforeCStore);
storeDataset.AfterCStore += new AfterCStoreDelegate(storeDataset_AfterCStore);
storeDataset.Compression = Compression.Lossless;
storeDataset.Store(scp, ds);
DicomNet.Shutdown();
DicomEngine.Shutdown();
}
void storeDataset_ReceiveBuffer(object sender, ReceiveBufferEventArgs e)
{
Console.WriteLine("{0} bytes of data received", e.BufferSize);
}
void storeDataset_BeforeCStore(object sender, BeforeCStoreEventArgs e)
{
//
// Stop storing if we received an error
//
if (e.Error != null)
e.Skip = SkipMethod.AllFiles;
}
void storeDataset_AfterCStore(object sender, AfterCStoreEventArgs e)
{
string msg;
msg = string.Format("Dataset store complete. Status: {0}", e.Status);
Console.WriteLine(msg);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
} |
Requirements
Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7
See Also