में केवल डीबग मोड में कोड निष्पादित करने के लिए मेरे पास एक एएसपी.नेट वेब एप्लिकेशन है और मेरे पास कुछ कोड है जो मैं केवल डीबग संस्करण में निष्पादित करना चाहता हूं। यह कैसे करना है?एएसपी.NET
[Conditional("DEBUG")]
void SomeMethod()
{
}
में केवल डीबग मोड में कोड निष्पादित करने के लिए मेरे पास एक एएसपी.नेट वेब एप्लिकेशन है और मेरे पास कुछ कोड है जो मैं केवल डीबग संस्करण में निष्पादित करना चाहता हूं। यह कैसे करना है?एएसपी.NET
[Conditional("DEBUG")]
void SomeMethod()
{
}
#if DEBUG
your code
#endif
तुम भी ConditionalAttribute विधि है कि जब आप डिबग मोड में इसे बनाने केवल निष्पादित करने के लिए करने के लिए जोड़ सकते हैं किसी भी स्थिर वर्ग आप applicaition में है:
public static bool IsDebug
{
get
{
bool debug = false;
#if DEBUG
debug = true;
#endif
return debug;
}
}
फिर अपनी इच्छा को प्राप्त करने के कार्य करें:
if (IsDebug)
{
//Your code
}
else
{
//not debug mode
}
मैं अपने आधार पेज में एक संपत्ति घोषित, या आप में यह घोषणा कर सकते हैं:
मुझे लगता है कि आपका मतलब #if DEBUG डीबग = सत्य; #endif – empi
डीबग डिफ़ॉल्ट रूप से गलत पर शुरू किया जाएगा, इसलिए आप IsDebug विधि हमेशा झूठी वापसी करेंगे, क्या आप बूल डीबग = सच खो रहे हैं? – Benny
स्थानीय चर ** ** ** किसी भी चीज़ के लिए प्रारंभ नहीं हैं, इसलिए वर्तमान संशोधन रिलीज मोड में संकलित नहीं होता है। – dtb
if (HttpContext.Current.IsDebuggingEnabled)
{
// this is executed only in the debug version
}
MSDN से:
HttpContext.IsDebuggingEnabled संपत्ति
यह बताते हैं कि वर्तमान HTTP अनुरोध डिबग मोड में है एक मूल्य हो जाता है।
यह कैसे जानता है कि यह डीबग में है, क्या यह इसे web.config से ले रहा है? – Omu
@ ओमु: मैंने एमएसडीएन के लिंक को जोड़ा - यह बताता है कि कंपाइलर चुनिंदा रूप से 'सशर्त' चिह्नित विधियों को कॉल कैसे हटाता है। –
आप रिलीज या डीबग के बीच बिल्ड मोड चुनते हैं। #if और सशर्त का उपयोग संकलन समय पर किया जाता है। कुछ और विवरण: http://bytes.com/topic/c-sharp/answers/237540- शर्त-debug-if-debug। आपको Google में बहुत सारी जानकारी मिल जाएगी। – empi