MVC6

5
में RouteConstraints रजिस्टर करने के लिए कैसे

वहाँ कैसे पिछले MVC संस्करणों में RouteConstraints बनाने के लिए पर कई ट्यूटोरियल हैं:MVC6

कैसे MVC6 के साथ इस काम करते हैं, विशेष रूप से दर्ज की है कस्टम मार्ग बाधा, तो यह एपीकंट्रोलर क्रियाओं के गुणों में उपयोग किया जा सकता है?

public class NonEmptyGuid : IRouteConstraint 
{ 
    public bool Match(HttpContext httpContext, IRouter route, string routeKey, IDictionary<string, object> values, RouteDirection routeDirection) 
    { 
     if (!values.ContainsKey(routeKey)) return false; 

     if (values[routeKey].ToString().Equals(Guid.Empty.ToString())) return false; 

     return true; 
    } 
} 

प्रश्न:: कैसे

मैं एक कस्टम मार्ग बाधा, NonEmptyGuid कहा जाता है, जो वास्तव में सिर्फ यकीन है कि एक गैर खाली Guid योग्य बनाता है एक के पैरामीटर के रूप में प्रयोग किया जाता है कार्रवाई प्राप्त और एमवीसी 6 एप्लिकेशन (उदाहरण के लिए वेबएपीआई प्रोजेक्ट में इस मामले में) के लिए इस कस्टम रूट कॉन्स्ट्रेन को पंजीकृत करता है।

उत्तर

0

आप अपने बाधाओं रजिस्टर करने के लिए RouteOptions उपयोग कर सकते हैं:

services.Configure<RouteOptions>(options => 
           options 
           .ConstraintMap 
           .Add("test", typeof(TestRouteConstraint))); 
संबंधित मुद्दे