2011-06-23 23 views
20

सेवा का "व्यवहार कॉन्फ़िगरेशन" विशेषता क्या है?सेवा का "व्यवहार कॉन्फ़िगरेशन" विशेषता क्या है?

<services> 
     <service name="WcfServiceNetMSMQ.Service1" behaviorConfiguration="WcfServiceNetMSMQ.Service1Behavior"> 
     <host> 
      <baseAddresses> 
      <add baseAddress = "http://localhost:8010/WcfServiceNetMSMQ/Service1/" /> 
      </baseAddresses> 
     </host> 
     <endpoint address ="net.msmq://localhost/private/myqueue" binding="netMsmqBinding" contract="WcfServiceNetMSMQ.IService1"> 
      <identity> 
      <dns value="localhost"/> 
      </identity> 
     </endpoint> 
     <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
     </service> 
    </services> 

उत्तर

26

यह एक और विन्यास खंड के लिए एक संदर्भ है:

<behaviors> 
    <serviceBehaviors> 
     <behavior name="WcfServiceNetMSMQ.Service1Behavior"> 

     </behaviors> 
    </serviceBehaviors> 
</behaviors> 

कहाँ इस खंड पूरे सेवा के लिए कुछ वैश्विक विन्यास में शामिल है।

4

यहां इसका एक उदाहरण है, इसमें सेवा के कनेक्शन के कुछ गुण हैं।

<serviceBehaviors> 
<behavior name="WcfServiceNetMSMQ.Service1Behavior"> 
<serviceMetadata httpGetEnabled="true" /> 
<serviceDebug includeExceptionDetailInFaults="false" /> 
</behavior> 

सूचना है कि इस सेवा व्यवहार में name एक पहले निर्दिष्ट से मेल खाती है।

उम्मीद है कि मदद करता है।

42

जब आप डब्ल्यूसीएफ सेवा को कॉन्फ़िगर करते हैं तो 3 महत्वपूर्ण अनुभाग होते हैं।

1) सेवा को परिभाषित करना:

<services> 
     <service behaviorConfiguration="SOAPRESTDemoBehavior" name="SOAPRESTDemo"> 
     <endpoint address="rest" behaviorConfiguration="SOAPRESTDemoEndpointBehavior" binding="webHttpBinding" contract="ISOAPRESTDemo" /> 
     <endpoint address="soap" binding="basicHttpBinding" contract="ISOAPRESTDemo" /> 
     </service> 
    </services> 

नोट behaviorConfiguration का मूल्य एक वर्ग के लिए एक संदर्भ आगे पर config में नीचे देखें है ...

2) 'सेवा व्यवहार' को परिभाषित करना

<serviceBehaviors> 
     <behavior name="SOAPRESTDemoBehavior"> 
      <serviceMetadata httpGetEnabled="true"/> 
      <serviceDebug includeExceptionDetailInFaults="true"/> 
     </behavior> 
     </serviceBehaviors> 

3) की परिभाषा 'Endpoint व्यवहार'

<endpointBehaviors> 
     <behavior name="SOAPRESTDemoEndpointBehavior"> 
      <webHttp/> 
     </behavior> 
     </endpointBehaviors> 

सभी 3 अनुभाग मूलभूत हैं जो आपको सेवा स्थापित करने की आवश्यकता है (हालांकि यह प्रोग्रामेटिक रूप से किया जा सकता है)।

आपके प्रश्न के संबंध में व्यवहार कॉन्फ़िगरेशन अनुभाग ऊपर दिए गए मेरे बिंदुओं में बिंदु 2 और 3 से संबंधित है। यह वह जगह है जहां आप अपनी तरह की कार्रवाइयों को अपनी सेवा चाहते हैं। उदाहरण के लिए मैंने कहा है कि मैं मेटाडेटा को प्रकाशित करने की अनुमति देना चाहता हूं। यह अनिवार्य रूप से एक डब्लूएसडीएल तैयार करेगा जो सेवा का वर्णन करता है।

पूर्ण config यहाँ है:

<?xml version="1.0"?> 
<configuration> 

    <system.web> 
     <compilation debug="true" targetFramework="4.0" /> 
    </system.web> 

    <system.serviceModel> 

    <!--Set up the service--> 
    <services> 
     <service behaviorConfiguration="SOAPRESTDemoBehavior" name="SOAPRESTDemo"> 
     <endpoint address="rest" behaviorConfiguration="SOAPRESTDemoEndpointBehavior" binding="webHttpBinding" contract="ISOAPRESTDemo" /> 
     <endpoint address="soap" binding="basicHttpBinding" contract="ISOAPRESTDemo" /> 
     </service> 
    </services> 


    <!--Define the behaviours--> 
    <behaviors> 

     <serviceBehaviors> 
     <behavior name="SOAPRESTDemoBehavior"> 
      <serviceMetadata httpGetEnabled="true"/> 
      <serviceDebug includeExceptionDetailInFaults="true"/> 
     </behavior> 
     </serviceBehaviors> 

     <endpointBehaviors> 
     <behavior name="SOAPRESTDemoEndpointBehavior"> 
      <webHttp/> 
     </behavior> 
     </endpointBehaviors> 

    </behaviors> 

    </system.serviceModel> 

</configuration> 
0

लिए आप व्यवहार नाम के साथ इस त्रुटि मिल जाएगा सेटअप ठीक नहीं है।

HTML दस्तावेज़ में वेब सेवा खोज जानकारी नहीं है। मेटाडाटा में एक संदर्भ है जिसे हल नहीं किया जा सकता है: 'http://blabla.com/WebService/Processor.svc'। सामग्री प्रकार आवेदन/साबुन + एक्सएमएल; charset = utf-8 सेवा 'http://blabla.com/WebService/Processor.svc' द्वारा समर्थित नहीं था। ग्राहक और सेवा बाइंडिंग मेल नहीं खा सकते हैं। रिमोट सर्वर ने एक त्रुटि लौटा दी: (415) संदेश को संसाधित नहीं कर सकता क्योंकि सामग्री प्रकार 'एप्लिकेशन/साबुन + xml; charset = utf-8 'अपेक्षित प्रकार' टेक्स्ट/xml नहीं था; charset = utf-8 '.. यदि सेवा वर्तमान समाधान में परिभाषित की गई है, तो समाधान बनाने और फिर से सेवा संदर्भ जोड़ने का प्रयास करें।

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