2012-04-19 15 views
6

मैं जिस एप्लिकेशन का निर्माण कर रहा हूं वह कई डब्ल्यूसीएफ सेवाओं (ए, बी) का खुलासा करता है। आंतरिक रूप से, यह हमारे आंतरिक नेटवर्क (एक्स, वाई) पर चल रही कई अन्य डब्ल्यूसीएफ सेवाओं का उपभोग करता है।डब्ल्यूसीएफ ट्रेस लॉग से कुछ डब्ल्यूसीएफ सेवाओं को अनदेखा करें

डब्ल्यूसीएफ संदेश लॉगिंग का उपयोग करके, मैं केवल हमारी सेवाओं ए, बी और बाहरी ग्राहकों को कॉल करने वाले बाहरी ग्राहकों के बीच लॉग यातायात करना चाहता हूं।

मेरी सेवाओं (ए, बी) और बैकएंड सेवाओं (एक्स, वाई) के बीच कोई डेटा डब्ल्यूसीएफ द्वारा लॉग इन नहीं किया जाना चाहिए।

छनन के माध्यम से system.serviceModel/निदान/messageLogging/फ़िल्टर के साथ आंशिक रूप से सफल रहा था:

<filters> 
     <add nodeQuota="10" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
     /s:Envelope/s:Header/*[contains(text(),"MyServiceA")] 
     </add> 
     <add nodeQuota="10" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none"> 
     /s:Envelope/s:Header/a:Action[contains(text(),"MyServiceA")] 
     </add> 
    </filters> 

हालांकि यह हमारी सेवाओं से प्रतिक्रियाओं पर कब्जा करने के साबुन के रूप में प्रतिक्रियाओं पर फिल्टर करने के लिए पाठ शामिल नहीं है विफल रहता है।

WCF MessageLogTraceRecord सोप लड़ाई में क्या है, लेकिन मैं इसे उपयोग करने के लिए एक फिल्टर के निर्माण के लिए प्रतीत नहीं कर सकते हैं:

<MessageLogTraceRecord> 
    <Addressing xmlns="http://schemas.microsoft.com/2004/06/ServiceModel/Management/MessageTrace> 
    <Action>http://opia.api.translink.com.au/ApiLocationService/2012/04/IApiLocationService/ResolveInputServiceFaultFault</Action> 
    </Addressing> 
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
     <s:Body> 
     ... 

WCF संदेश लॉगिंग और अनुरेखण सभी विकल्पों को करने के लिए सेट के साथ लागू किए गए हैं समाप्त करने के लिए अंत सच। गतिविधि ट्रेसिंग और चेतावनी स्तर लॉगिंग सक्षम हैं।

+1

आप क्योंकि आप फ़ाइल आकार या शोर बारे में चिंतित हैं फिल्टर करने के लिए चाहते हैं? एमएस सर्विस ट्रेस व्यूअर यूआई फ़िल्टरिंग पर बहुत अच्छा है। –

+1

मुख्य रूप से शोर। "आंतरिक" सेवाएं बेहद चतुर हैं, हमारी सेवा के लिए एक कॉल उनके लिए 30+ कॉल लपेटती है। हालांकि आंतरिक सेवा इंटरफ़ेस का परीक्षण किया जाता है और इसमें कोई बदलाव नहीं किया जा सकता है। – geoffreys

उत्तर

2

इस

<filters> 
     <add nodeQuota="10" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
     /s:Envelope/s:Header/*[contains(text(),"MyServiceA")] 
     </add> 
     <add nodeQuota="10" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none"> 
     /s:Envelope/s:Header/a:Action[contains(text(),"http://opia.api.translink.com.au/ApiLocationService/2012/04/IApiLocationService/ResolveInputServiceFaultFault")] 
     </add> 
    </filters> 

पाठ "MyServiceA" MessageLogTraceRecord में यूआरएल के साथ कार्रवाई फिल्टर में बदला गया प्रयास करें> कार्रवाई

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