سؤال

حسنا، لدي عميل يقوم بنشر إلى خادم مع بعض البيانات. يتلقى الخادم النشر وإجابات مع إعادة توجيه. المشكلة هي أن العميل لا يعيد توجيه. أيضا، حاولت التحقق من حالة الاستجابة التي يحصل العميل عليها، وهي دائما نفس "موافق". بدلا من رمز إعادة التوجيه. ماذا ينقصني؟

في جانب العميل لدي شيء مثل هذا:

  StringBuilder sb;
        try
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost/serv/Default.aspx");
            request.Method = "POST";                

        byte[] data = Encoding.ASCII.GetBytes(GetDATA());

        request.ContentType = "text/xml";
        request.ContentLength = data.Length;
        Stream stream = request.GetRequestStream();
        stream.Write(data, 0, data.Length);

        request.AllowAutoRedirect = true;
        request.MaximumAutomaticRedirections = 10;

        HttpWebResponse response = (HttpWebResponse) request.GetResponse();
            response.Close(); } catch(Exception ex) {}

في جانب الخادم لدي فقط هذا السطر:

HttpContext.Current.Response.Redirect("http://www.google.com", true);

في هذه الحالة، يتلقى العميل إجابة ولا يفعل شيئا.

شكرًا.

هل كانت مفيدة؟

المحلول

عندما يكون لديك تعيين "annetautiroseRect" إلى True، فهذا يعني أن كائن HttpWebRequest سيجعل WebRequest 2nd بمجرد أن يرى إعادة توجيه. عندما ترى "200 موافق" من كائن الاستجابة، فذلك لأنك ترى استجابة "www.google.com". يمكنك التحقق من الاستجابة. ReSpondeSuri للتحقق من ذلك.

ستحتاج إلى إيقاف تشغيل "annotautorirect"، ثم تحقق من رمز الاستجابة مثل Oded.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top