2010-10-18 10 views
6

मैं मज़े के लिए एक छोटे सीएमएस पर काम कर रहा हूं और इसके हिस्से के रूप में मैं ऐप शुरू करने पर डेटाबेस से मार्ग पंजीकृत करता हूं। उपयोगकर्ता के लिए मार्ग जोड़ने के लिए यह संभव है। समस्या यह है कि यह मार्ग डीबी में संग्रहीत है और इसलिए ऐप पुनरारंभ होने तक पंजीकृत नहीं है।गतिशील मार्गों को पंजीकृत करने के लिए, एक ऐप को पुनरारंभ करने की आवश्यकता है?

क्या ऐप पुनरारंभ किए बिना मार्गों को फिर से पंजीकृत करना संभव है?

यदि नहीं, तो मैं मांग पर ऐप को पुनरारंभ कैसे करूं?

चीयर्स,

इयान

उत्तर

6

नहीं, आप जोड़ सकते हैं और गतिशील रूप मार्गों निकाल सकते हैं। RouteTable.Routes बस RouteCollection है जिसमें Add और Remove सदस्य हैं (या, यदि आप पसंद करते हैं, Clear)।

ध्यान रखें कि वेब-सर्वर बहुप्रचारित है, इसलिए, आपको RouteCollection के लॉकिंग प्रोटोकॉल का उपयोग करने की आवश्यकता होगी। विशेष रूप से, इसका मतलब है GetWriteLock:

var routes = RouteTable.Routes; 
var newDynamicRoute = new Route(...); 
using(routes.GetWriteLock()) { 
    routes.Remove(dynRoute); 
    dynRoute = newDynamicRoute; 
    routes.Add(dynRoute); 
} 
संबंधित मुद्दे

 संबंधित मुद्दे