2009-05-18 14 views
5

काम नहीं कर रहा है मैंने अपनी डब्ल्यूसीएफ सेवा मेटाडेटा का पर्दाफाश करने के लिए कई बार कोशिश की है। इसके बजाय, मैं अपवाद रखने रखना:डब्ल्यूसीएफ मेटाडाटा

अनुबंध नाम 'IMetadataExchange' सेवा SecurityBroker द्वारा कार्यान्वित अनुबंध की सूची में नहीं पाया जा सका। इस अनुबंध के लिए को सक्षम करने के लिए सीधे कॉन्फ़िगरेशन फ़ाइल या सर्विसहोस्ट पर एक सेवा मेटाडेटाबेसर जोड़ें।

... मैन्युअल रूप से IE का उपयोग कर सेवा पर ब्राउज़ करते समय।

(मैं यह मानते हुए हूँ यह एक ही कारण है कि मेरे मुवक्किल आवेदन एक सेवा संदर्भ उत्पन्न करने में सक्षम नहीं है बेबी कदम और सब।)

और फिर भी मेरी web.config ठीक लग रहा है:

<system.serviceModel> 
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 
<behaviors> 
    <endpointBehaviors> 
     <behavior name="webHttpEnablingBehaviour"> 
      <webHttp /> 
     </behavior> 
    </endpointBehaviors> 
    <serviceBehaviors> 
     <behavior name="webHttpEnablingBehaviour"> 
      <serviceMetadata httpGetEnabled="true" /> 
     </behavior> 
    </serviceBehaviors> 
</behaviors> 
<services> 
    <service name="IWW.MIGTurbo2.WCF.Security.SecurityBroker"> 
     <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" /> 
     <endpoint address="" 
      binding="webHttpBinding" 
      bindingConfiguration="default" 
      contract="IWW.MIGTurbo2.WCF.Security.ISecurityBroker" 
       behaviorConfiguration="webHttpEnablingBehaviour"> 
     </endpoint> 
    </service> 
</services> 
<client /> 
<bindings> 
    <webHttpBinding> 
     <binding name="default" /> 
    </webHttpBinding> 
</bindings> 
</system.serviceModel> 

तो मेरे पास IMetadataExchangeमैक्स ठीक से परिभाषित अनुबंध है, और जहां तक ​​मैं देख सकता हूं, झुका हुआ है। क्या मुझे कुछ दिक्कत हुई है?

संपादित

अगर यह उपयोगी है मेरी सेवा परिभाषा, नीचे दिखाया गया है:

<%@ ServiceHost Language="C#" Debug="true" Service="IWW.MIGTurbo2.WCF.Security.SecurityBroker" Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory" %> 

उत्तर

9

आपका कॉन्फ़िग फ़ाइल "अंत बिंदु" तत्व पर behaviorConfiguration विशेषता है, लेकिन आप भी पर इसकी आवश्यकता "सेवा" तत्व।

+0

बहुत बढ़िया, कि यह मिल गया है! बहुत बहुत धन्यवाद। –

2

मैं सभी के लिए NetTcp बाइंडिंग का उपयोग कर रहा हूं। मेरे मामले में मैं एक ही समस्या हो रही है और जोड़कर हल किया गया था:

(क) एक behaviorConfiguration = "" MEX समाप्ति बिंदु को

<endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" behaviourConfiguration="" /> 

(ख) एक behaviorConfiguration = "सेवा करने के लिए MEX" परिभाषा:

<services> 
    <service name="AcmeService" behaviorConfiguration="mex"> 

(ग) व्यवहार प्रविष्टि

<behaviors> 
    <serviceBehaviors> 
     <behaviour name="mex"> 
      <serviceDebug includeExceptionDetailInFaults="false"/> 
      <serviceMetadata /> 
     </behavior> 
    </serviceBehaviors> 
    </behaviors> 
+0

इससे मेरी मदद की गई है, इसलिए मैंने अपरिवर्तित किया है, लेकिन कृपया अपने उत्तर देने वाले को शामिल करने के लिए सही करें शामिल करें शामिल करें एक्सेप्शनडिंटइनफॉल्ट इंटैड शामिल करें एक्सेप्शनडिंटइनफॉल – caa

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