System.Net.EndPointListener.AddPrefix C# (CSharp) Метод

AddPrefix() публичный Метод

public AddPrefix ( System.Net.ListenerPrefix prefix, HttpListener listener ) : void
prefix System.Net.ListenerPrefix
listener HttpListener
Результат void
		public void AddPrefix (ListenerPrefix prefix, HttpListener listener)
		{
			if (prefix.Host == "*") {
				if (unhandled == null)
					unhandled = new ArrayList ();

				prefix.Listener = listener;
				AddSpecial (unhandled, prefix);
				return;
			}

			if (prefix.Host == "+") {
				if (all == null)
					all = new ArrayList ();
				prefix.Listener = listener;
				AddSpecial (all, prefix);
				return;
			}

			try { 
				plock.AcquireReaderLock (-1);
				if (prefixes.ContainsKey (prefix)) {
					HttpListener other = (HttpListener) prefixes [prefix];
					if (other != listener) // TODO: code.
						throw new HttpListenerException (400, "There's another listener for " + prefix);
					return;
				}
				plock.UpgradeToWriterLock (-1);
				prefixes [prefix] = listener;
			} finally {
				try {
					plock.ReleaseReaderLock ();
				} catch {}
			}
		}

Usage Example

        private static void AddPrefixInternal(string p, HttpListener listener)
        {
            ListenerPrefix listenerPrefix = new ListenerPrefix(p);

            if (listenerPrefix.Path.IndexOf('%') != -1)
            {
                throw new HttpListenerException(400, "Invalid path.");
            }
            if (listenerPrefix.Path.IndexOf("//") != -1)
            {
                throw new HttpListenerException(400, "Invalid path.");
            }
            EndPointListener eplistener = EndPointManager.GetEPListener(IPAddress.Any, listenerPrefix.Port, listener, listenerPrefix.Secure);

            eplistener.AddPrefix(listenerPrefix, listener);
        }
All Usage Examples Of System.Net.EndPointListener::AddPrefix