আপনারা যারা এইচটিটিপিএসফেলহস্ট সার্ভার ব্যবহার করছেন তাদের ক্ষেত্রে এই বিভাগের কোডটি এইচটিটিপি কনটেক্সট.ক্রেনারে ব্যর্থ হবে, যেহেতু এটি স্ব-হোস্ট সার্ভারে নেই।
private Tuple<bool, string> IsJsonpRequest()
{
if(HttpContext.Current.Request.HttpMethod != "GET")
return new Tuple<bool, string>(false, null);
var callback = HttpContext.Current.Request.QueryString[CallbackQueryParameter];
return new Tuple<bool, string>(!string.IsNullOrEmpty(callback), callback);
}
তবে আপনি এই ওভাররাইডের মাধ্যমে স্ব হোস্ট "প্রসঙ্গ" বাধা দিতে পারেন।
public override MediaTypeFormatter GetPerRequestFormatterInstance(Type type, HttpRequestMessage request, MediaTypeHeaderValue mediaType)
{
_method = request.Method;
_callbackMethodName =
request.GetQueryNameValuePairs()
.Where(x => x.Key == CallbackQueryParameter)
.Select(x => x.Value)
.FirstOrDefault();
return base.GetPerRequestFormatterInstance(type, request, mediaType);
}
অনুরোধ.মাথোদ আপনাকে "জিইটি", "পোষ্ট" ইত্যাদি দেবে এবং গেটকুয়েরি নামভ্যালু পেয়ারস? কলব্যাক প্যারামিটারটি পুনরুদ্ধার করতে পারে। এইভাবে আমার সংশোধিত কোডটি দেখে মনে হচ্ছে:
private Tuple<bool, string> IsJsonpRequest()
{
if (_method.Method != "GET")
return new Tuple<bool, string>(false, null);
return new Tuple<bool, string>(!string.IsNullOrEmpty(_callbackMethodName), _callbackMethodName);
}
আশা করি এটি আপনার কয়েকজনকে সহায়তা করবে। এইভাবে আপনার অগত্যা কোনও এইচটিপিপেক্সটেক্সট শিমের দরকার নেই।
সি