Asp.net uygulamamın neden 'Yetkilendirme' olarak adlandırılırsa başlığımı neden eklemeyeceğimi, ancak bir karakteri değiştirdiğimde, "Yetkilendirmeler" deyip yazamayacağımı bilmek isterim. Diğer sitelerle ilgili dokümantasyonda her zaman "Yetkilendirme" adını kullanırlar, bu yüzden ben de iyi olmak isterim ve bu noktada neden sadece altında durmak istiyorum.ASP.NET HTTP Yetkilendirme Üstbilgisi
Bu konuyla ilgili birkaç konu okudum, ancak herhangi bir mantıksal neden bulamadı.
İşte aşağıda benim kodudur:string fileName = "c:\\xyz.xml";
string uri = "http://myserver/Default.aspx";
req = WebRequest.Create(uri);
req.Method = "POST";
req.ContentType = "text/xml";
byte[] authBytes = Encoding.UTF8.GetBytes("DDSServices:jCole2011".ToCharArray());
req.Headers.Add("Authorization", "BASIC " + Convert.ToBase64String(authBytes));
req.Headers.Add("test", "test");
UTF8Encoding encoder = new UTF8Encoding();
byte[] data = encoder.GetBytes(this.GetTextFromXMLFile(fileName));
req.ContentLength = data.Length;
Stream reqStream = req.GetRequestStream();
reqStream.Write(data, 0, data.Length);
reqStream.Close();
req.Headers.Add("Authorization", "BASIC" + Convert.ToBase64String(authBytes));
System.Net.WebResponse response = req.GetResponse();
System.IO.StreamReader reader = new StreamReader(response.GetResponseStream());
string str = reader.ReadToEnd();
diğer bu i fiddler aracılığıyla izledi değişkeni eklerken iyi çalışıyor ise can sıkıcı.
veya orada bir mantıksal sebep? Çalıştığımız çok büyük bir üçüncü şahıs firması yetkileri ile aynı şekilde belgelendirilmiş, bu yüzden nedenini bilmek isterim. – Cody
Will'in önerdiği gibi NetworkCredential yaklaşımını kullanmak daha iyidir. Bununla birlikte, yaklaşımınız da iyi çalışmalı, neden iki kez yaptığınızı anlamıyorum (GetRquestStream'e bir çağrı yapmadan önce ve bir kez sonra. GetRequestStream'i çağırmadan önce bir kez daha jsut yapmalısınız. Eğer hala çalışmıyorsa, http://ferozedaud.blogspot.com/2009/08/tracing-with-systemnet.html adresindeki talimatlar – feroze
Neden bunun neden daha iyi olduğunu söyleyebilir misiniz? Veya neden daha iyi olduğunu nereden okuyabiliyorum? NetworkCredentials reklam ya da formlar kimlik doğrulaması ile bağlı olurdu görünüyor, ben anonim aracılığıyla bağlantı yerine, sadece doğrulayın.Ya da olsa birisi bana sadece neden söyleyebilir misin? Neredeyse bu noktada ne olduğunu umurumda değil – Cody