الوصول إلى سلسلة الاستعلام (صفيف طلب GET) داخل خدمة ويب في .NET

StackOverflow https://stackoverflow.com/questions/298219

  •  08-07-2019
  •  | 
  •  

سؤال

إنني أتطلع إلى إيجاد طريقة للوصول إلى سلسلة استعلام .net الموجودة في كائن طلب ASP.NET القياسي داخل خدمة الويب.بمعنى آخر، إذا قمت بتعيين خدمة ويب SOAP على عنوان url هذا:

http://localhost/service.asmx?id=2

هل يمكنني الوصول إلى معرف الحصول على المتغير؟

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

المحلول

ونظرت لمجرد "طلب" من سياق في ملف asmx ورأيت ذلك. ولكن لست متأكدا ما اذا كان على حق.

this.Context.Request.QueryString["id"];

نصائح أخرى

وHttpContext.Current.Request.QueryString [ "المعرف"]

ومنذ أن تسأل، وأعتقد أنه لا يوجد HttpContext.Current.Request؟

أثناء البحث عن حل لنفس المشكلة قررت اتباع نهج مختلف.كانت سلسلة الاستعلام الخاصة بي مليئة بالكثير من المتغيرات وبما أنني لم أتمكن من الوصول إلى بيانات سلسلة الاستعلام من خدمة الويب، ولم أرغب أيضًا في إرسال كل متغير سلسلة استعلام كمعلمة منفصلة، ​​فقد قمت بإعداد طريقة الويب الخاصة بي لتوقع واحدة معلمة سلسلة إضافية.

كانت تلك المعلمة window.location (عنوان URL الكامل للصفحة) في وظيفة جافا سكريبت الخاصة بي على صفحة .aspx

بمجرد حصولي على عنوان url في خدمة الويب الخاصة بي، كان الباقي يسير للأمام تمامًا

Uri myRef = new Uri(stringMyWindowLocationParameter);
System.Collections.Specialized.NameValueCollection mojQuery = HttpUtility.ParseQueryString(myRef.Query);

الآن تم تضمين سلسلة الاستعلام الخاصة بي في الداخل المرجع الخاص بي الكائن وهذه هي الطريقة التي أسميها

// Instead trying to request query string like this
string myId = HttpContext.Current.Request.QueryString["id"];

// ... I called it like this
string myId = myRef["id"];

ربما ليست الطريقة الأكثر أناقة ولكنها حلت مشكلتي.

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