Я нашел этот вопрос, когда искал ответ, данный ответ работает, но он не гибкий, поэтому, если вы хотите лучший способ .NET сделать это.
Uri uri = new Uri("http://address of services");
HttpWebRequest objRegistration = (HttpWebRequest)WebRequest.Create(url);
CredentialCache credentials = new CredentialCache();
NetworkCredential netCredential = new NetworkCredential(" uid", "pwd");
credentials.Add(uri, "Basic", netCredential);
objRegistration.Credentials = credentials;
Вы можете заменить «Basic» на «Digest», «NTLM» или «Negotiate», а также это дает возможность добавлять несколько типов в кеш.