Ho un requisito per un servizio che fa quanto segue.
Prendi un blocco di testo e identifica i nomi dei server in esso contenuti (per nome o indirizzo ip). Così dato:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec libero felis, accumsan in nunc id, lacinia rutrum libero. Server1 Praesent iaculis consequat est quis elementum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos Server2 himenaeos. Cras aliquet nisl non tortor interdum semper. Nulla commodo dignissim justo, eu accumsan neque eleifend ut. Etiam malesuada volutpat dolor 192.168.0.2 laoreet placerat. Maecenas posuere ipsum mattis egestas elementum.
Il servizio restituirebbe:
- Server1
- Server2
- Server3 (che ha indirizzo IP 192.168.0.2)
ci sono circa 7000 server e indirizzi nel mio DB. Quindi al momento l'unica strategia che ho è prendere il blocco di testo come una stringa e fare un ciclo su tutti i server due volte (nome e ip) emettendo una stringa .Contains ().
L'emissione di 14.000 contenitori sembra un po '"forza bruta". C'è un modo più elegante per ottenere lo stesso risultato.
Per contesto questo è un servizio di riposo in esecuzione su ASP.Net MVC e C #.