コード例 #1
0
        private void StartAlternateAeTitleListener(ServerPartition part, ServerPartitionAlternateAeTitle alternateAe)
        {
            var context = new DicomScpContext(part)
            {
                AlternateAeTitle = alternateAe
            };

            if (DicomSettings.Default.ListenIPV4)
            {
                var ipV4Scp = new DicomScp <DicomScpContext>(context, AssociationVerifier.Verify,
                                                             AssociationAuditLogger.InstancesTransferredAuditLogger)
                {
                    ListenPort    = alternateAe.Port,
                    AeTitle       = alternateAe.AeTitle,
                    ListenAddress = IPAddress.Any
                };
                StartScp(ipV4Scp, _alternateAeListenerList);
            }

            if (DicomSettings.Default.ListenIPV6)
            {
                var ipV6Scp = new DicomScp <DicomScpContext>(context, AssociationVerifier.Verify,
                                                             AssociationAuditLogger.InstancesTransferredAuditLogger)
                {
                    ListenPort    = alternateAe.Port,
                    AeTitle       = alternateAe.AeTitle,
                    ListenAddress = IPAddress.IPv6Any
                };

                StartScp(ipV6Scp, _alternateAeListenerList);
            }
        }
コード例 #2
0
        private void StartPartitionListener(ServerPartition part)
        {
            var parms = new DicomScpContext(part);

            if (DicomSettings.Default.ListenIPV4)
            {
                var ipV4Scp = new DicomScp <DicomScpContext>(parms, AssociationVerifier.Verify,
                                                             AssociationAuditLogger.InstancesTransferredAuditLogger)
                {
                    ListenPort    = part.Port,
                    AeTitle       = part.AeTitle,
                    ListenAddress = IPAddress.Any
                };

                StartScp(ipV4Scp, _listenerList);
            }

            if (DicomSettings.Default.ListenIPV6)
            {
                var ipV6Scp = new DicomScp <DicomScpContext>(parms, AssociationVerifier.Verify,
                                                             AssociationAuditLogger.InstancesTransferredAuditLogger)
                {
                    ListenPort    = part.Port,
                    AeTitle       = part.AeTitle,
                    ListenAddress = IPAddress.IPv6Any
                };
                StartScp(ipV6Scp, _listenerList);
            }
        }
コード例 #3
0
	    private void StartPartitionListener(ServerPartition part)
	    {
			var parms = new DicomScpContext(part);

	        if (DicomSettings.Default.ListenIPV4)
	        {
	            var ipV4Scp = new DicomScp<DicomScpContext>(parms, AssociationVerifier.Verify,
	                                                        AssociationAuditLogger.InstancesTransferredAuditLogger)
	                {
	                    ListenPort = part.Port,
	                    AeTitle = part.AeTitle,
	                    ListenAddress = IPAddress.Any
	                };

	            StartScp(ipV4Scp, _listenerList);
	        }

	        if (DicomSettings.Default.ListenIPV6)
	        {
	            var ipV6Scp = new DicomScp<DicomScpContext>(parms, AssociationVerifier.Verify,
	                                                        AssociationAuditLogger.InstancesTransferredAuditLogger)
	                {
	                    ListenPort = part.Port,
	                    AeTitle = part.AeTitle,
	                    ListenAddress = IPAddress.IPv6Any
	                };
	            StartScp(ipV6Scp, _listenerList);
	        }
	    }
コード例 #4
0
        private void StartListeners(IServerPartition part)
        {
            var parms = new DicomScpContext(part);

            //TODO support IPV6
            var scp = new DicomScp <DicomScpContext>(parms, AssociationVerifier.Verify)
            {
                ListenPort = part.Port,
                AeTitle    = part.AeTitle
            };

            if (scp.Start(IPAddress.Any))
            {
                _listenerList.Add(scp);
                Log.Info("Start listen on {0} for server destAe {1}",
                         part.Port, part.Description);
            }
            else
            {
                Log.Error("Unable to listen on {0} for server destAe {1}",
                          part.Port, part.Description);
                Log.Error("destAe {0} will not accept any DICOM associations", part.Description);
            }
        }
コード例 #5
0
	    private void StartAlternateAeTitleListener(ServerPartition part, ServerPartitionAlternateAeTitle alternateAe)
	    {
	        var context = new DicomScpContext(part)
	            {
	                AlternateAeTitle = alternateAe
	            };

	        if (DicomSettings.Default.ListenIPV4)
	        {
	            var ipV4Scp = new DicomScp<DicomScpContext>(context, AssociationVerifier.Verify,
	                                                        AssociationAuditLogger.InstancesTransferredAuditLogger)
	                {
	                    ListenPort = alternateAe.Port,
	                    AeTitle = alternateAe.AeTitle,
	                    ListenAddress = IPAddress.Any
	                };
	            StartScp(ipV4Scp, _alternateAeListenerList);
			}

	        if (DicomSettings.Default.ListenIPV6)
	        {
	            var ipV6Scp = new DicomScp<DicomScpContext>(context, AssociationVerifier.Verify,
	                                                        AssociationAuditLogger.InstancesTransferredAuditLogger)
	                {
	                    ListenPort = alternateAe.Port,
	                    AeTitle = alternateAe.AeTitle,
	                    ListenAddress = IPAddress.IPv6Any
	                };

	            StartScp(ipV6Scp, _alternateAeListenerList);
	        }
		}
コード例 #6
0
ファイル: DicomServerManager.cs プロジェクト: nhannd/Xian
		private void StartListeners(ServerPartition part)
		{
			DicomScpContext parms =
				new DicomScpContext(part);

			if (DicomSettings.Default.ListenIPV4)
			{
				DicomScp<DicomScpContext> ipV4Scp = new DicomScp<DicomScpContext>(parms, AssociationVerifier.Verify, AssociationAuditLogger.InstancesTransferredAuditLogger);

				ipV4Scp.ListenPort = part.Port;
				ipV4Scp.AeTitle = part.AeTitle;

				if (ipV4Scp.Start(IPAddress.Any))
				{
					_listenerList.Add(ipV4Scp);
					ApplicationActivityAuditHelper helper = new ApplicationActivityAuditHelper(
											ServerPlatform.AuditSource, 
											EventIdentificationContentsEventOutcomeIndicator.Success, 
											ApplicationActivityType.ApplicationStarted, 
											new AuditProcessActiveParticipant(ipV4Scp.AeTitle));
					ServerPlatform.LogAuditMessage(helper);
				}
				else
				{
					ApplicationActivityAuditHelper helper = new ApplicationActivityAuditHelper(
											ServerPlatform.AuditSource,
											EventIdentificationContentsEventOutcomeIndicator.MajorFailureActionMadeUnavailable,
											ApplicationActivityType.ApplicationStarted,
											new AuditProcessActiveParticipant(ipV4Scp.AeTitle));
					ServerPlatform.LogAuditMessage(helper);
					Platform.Log(LogLevel.Error, "Unable to add IPv4 SCP handler for server partition {0}",
								 part.Description);
					Platform.Log(LogLevel.Error,
								 "Partition {0} will not accept IPv4 incoming DICOM associations.",
								 part.Description);
					ServerPlatform.Alert(AlertCategory.Application, AlertLevel.Critical, "DICOM Listener",
                                         AlertTypeCodes.UnableToStart, null, TimeSpan.Zero, "Unable to start IPv4 DICOM listener on {0} : {1}",
					                     ipV4Scp.AeTitle, ipV4Scp.ListenPort);
				}
			}

			if (DicomSettings.Default.ListenIPV6)
			{
				DicomScp<DicomScpContext> ipV6Scp = new DicomScp<DicomScpContext>(parms, AssociationVerifier.Verify, AssociationAuditLogger.InstancesTransferredAuditLogger);

				ipV6Scp.ListenPort = part.Port;
				ipV6Scp.AeTitle = part.AeTitle;

				if (ipV6Scp.Start(IPAddress.IPv6Any))
				{
					_listenerList.Add(ipV6Scp);
					ApplicationActivityAuditHelper helper = new ApplicationActivityAuditHelper(
											ServerPlatform.AuditSource,
											EventIdentificationContentsEventOutcomeIndicator.Success,
											ApplicationActivityType.ApplicationStarted,
											new AuditProcessActiveParticipant(ipV6Scp.AeTitle));
					ServerPlatform.LogAuditMessage(helper);
				}
				else
				{
					ApplicationActivityAuditHelper helper = new ApplicationActivityAuditHelper(
						ServerPlatform.AuditSource,
						EventIdentificationContentsEventOutcomeIndicator.MajorFailureActionMadeUnavailable,
						ApplicationActivityType.ApplicationStarted,
						new AuditProcessActiveParticipant(ipV6Scp.AeTitle));
					ServerPlatform.LogAuditMessage(helper);

					Platform.Log(LogLevel.Error, "Unable to add IPv6 SCP handler for server partition {0}",
								 part.Description);
					Platform.Log(LogLevel.Error,
								 "Partition {0} will not accept IPv6 incoming DICOM associations.",
								 part.Description);
					ServerPlatform.Alert(AlertCategory.Application, AlertLevel.Critical, "DICOM Listener",
                                         AlertTypeCodes.UnableToStart, null, TimeSpan.Zero, "Unable to start IPv6 DICOM listener on {0} : {1}",
										 ipV6Scp.AeTitle, ipV6Scp.ListenPort);
				}
			}
		}
コード例 #7
0
        private void StartListeners(ServerPartition part)
        {
            DicomScpContext parms =
                new DicomScpContext(part);

            if (DicomSettings.Default.ListenIPV4)
            {
                DicomScp <DicomScpContext> ipV4Scp = new DicomScp <DicomScpContext>(parms, AssociationVerifier.Verify, AssociationAuditLogger.InstancesTransferredAuditLogger);

                ipV4Scp.ListenPort = part.Port;
                ipV4Scp.AeTitle    = part.AeTitle;

                if (ipV4Scp.Start(IPAddress.Any))
                {
                    _listenerList.Add(ipV4Scp);
                    ApplicationActivityAuditHelper helper = new ApplicationActivityAuditHelper(
                        ServerPlatform.AuditSource,
                        EventIdentificationContentsEventOutcomeIndicator.Success,
                        ApplicationActivityType.ApplicationStarted,
                        new AuditProcessActiveParticipant(ipV4Scp.AeTitle));
                    ServerPlatform.LogAuditMessage(helper);
                }
                else
                {
                    ApplicationActivityAuditHelper helper = new ApplicationActivityAuditHelper(
                        ServerPlatform.AuditSource,
                        EventIdentificationContentsEventOutcomeIndicator.MajorFailureActionMadeUnavailable,
                        ApplicationActivityType.ApplicationStarted,
                        new AuditProcessActiveParticipant(ipV4Scp.AeTitle));
                    ServerPlatform.LogAuditMessage(helper);
                    Platform.Log(LogLevel.Error, "Unable to add IPv4 SCP handler for server partition {0}",
                                 part.Description);
                    Platform.Log(LogLevel.Error,
                                 "Partition {0} will not accept IPv4 incoming DICOM associations.",
                                 part.Description);
                    ServerPlatform.Alert(AlertCategory.Application, AlertLevel.Critical, "DICOM Listener",
                                         AlertTypeCodes.UnableToStart, null, TimeSpan.Zero, "Unable to start IPv4 DICOM listener on {0} : {1}",
                                         ipV4Scp.AeTitle, ipV4Scp.ListenPort);
                }
            }

            if (DicomSettings.Default.ListenIPV6)
            {
                DicomScp <DicomScpContext> ipV6Scp = new DicomScp <DicomScpContext>(parms, AssociationVerifier.Verify, AssociationAuditLogger.InstancesTransferredAuditLogger);

                ipV6Scp.ListenPort = part.Port;
                ipV6Scp.AeTitle    = part.AeTitle;

                if (ipV6Scp.Start(IPAddress.IPv6Any))
                {
                    _listenerList.Add(ipV6Scp);
                    ApplicationActivityAuditHelper helper = new ApplicationActivityAuditHelper(
                        ServerPlatform.AuditSource,
                        EventIdentificationContentsEventOutcomeIndicator.Success,
                        ApplicationActivityType.ApplicationStarted,
                        new AuditProcessActiveParticipant(ipV6Scp.AeTitle));
                    ServerPlatform.LogAuditMessage(helper);
                }
                else
                {
                    ApplicationActivityAuditHelper helper = new ApplicationActivityAuditHelper(
                        ServerPlatform.AuditSource,
                        EventIdentificationContentsEventOutcomeIndicator.MajorFailureActionMadeUnavailable,
                        ApplicationActivityType.ApplicationStarted,
                        new AuditProcessActiveParticipant(ipV6Scp.AeTitle));
                    ServerPlatform.LogAuditMessage(helper);

                    Platform.Log(LogLevel.Error, "Unable to add IPv6 SCP handler for server partition {0}",
                                 part.Description);
                    Platform.Log(LogLevel.Error,
                                 "Partition {0} will not accept IPv6 incoming DICOM associations.",
                                 part.Description);
                    ServerPlatform.Alert(AlertCategory.Application, AlertLevel.Critical, "DICOM Listener",
                                         AlertTypeCodes.UnableToStart, null, TimeSpan.Zero, "Unable to start IPv6 DICOM listener on {0} : {1}",
                                         ipV6Scp.AeTitle, ipV6Scp.ListenPort);
                }
            }
        }