मैंने दोनों का उपयोग किया है और इसलिए मुझे आश्चर्य है, क्या वे वही काम करते हैं या अलग-अलग चीजें करते हैं? यदि यह उत्तरार्द्ध है, तो क्या अंतर है?क्या मुझे एक Asp.NET वेब-एपीआई रूट के लिए रूट पैरामीटर या यूआरएल पैरामीटर का उपयोग करना चाहिए?
मैंने विजुअल स्टूडियो एमवीसी 4 (आरसी) वेब एपीआई टेम्पलेट को देखकर इसे स्वयं जवाब देने का प्रयास किया, लेकिन दुख की बात यह है कि यह दोनों का उपयोग करता है, इसलिए मेरा भ्रम बनी हुई है। यहां बताया गया है टेम्पलेट है: वेब एपीआई मार्गों (.MapHttpRoute
) और मानक MVC नियंत्रक मार्गों (.MapRoute
) के लिए UrlParameter
के लिए
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
आह .. मैंने यह भी ध्यान नहीं दिया कि उन्होंने मार्ग वस्तु पर विभिन्न विधियों को बुलाया था। लेकिन यह समझ में आता है। मुझे आश्चर्य है कि उन्होंने वेब एपीआई टेम्पलेट में विचार और एमवीसी सामग्री क्यों शामिल की है। आशा है कि वे जल्द ही एसपीए टेम्पलेट के साथ काम करेंगे। धन्यवाद! :) – Mithon
इनमें से दो के बीच भी अलग व्यवहार है। यदि आप इस पोस्ट को चेक करते हैं: http://stackoverflow.com/questions/19043266/in-asp-net-webapi-does-routeparameter-optional-mean-optional-part-of-the-url UrlParameter.Optional की आवश्यकता नहीं होगी आप डिफ़ॉल्ट पैरामीटर निर्दिष्ट करने के लिए, जबकि रूट पैरामीटर। वैकल्पिक इच्छा। –