2012-07-10 19 views
7

में होस्ट किया गया नेट टीसीपी/HTTP डब्ल्यूसीएफ मैं डब्ल्यूसीएफ और आईआईएस के लिए नया हूं लेकिन आईआईएस में डब्ल्यूसीएफ आवेदन की मेजबानी करने के तरीके पर कुछ पढ़ रहा हूं। हमारे पास एक ऐसी प्रणाली है जिसे हम आईआईएस में तैनात करने की कोशिश कर रहे हैं जिसके लिए HTTP और नेट। टीसीपी एंडपॉइंट्स की आवश्यकता है। जैसा कि मैंने यादृच्छिक ट्यूटोरियल में देखा है, मेरे पास सब कुछ कॉन्फ़िगर किया गया है लेकिन मैं अभी भी अपने क्लाइंट से कनेक्ट नहीं कर सकता। विन्यास के साथ किसी भी मदद की सराहना की जाएगी!आईईएस

मेरी WCF निर्देशिका में मेरे EdWCF.svc फ़ाइल:

< %@ ServiceHost Language="C#" Debug="true" Service="TwoFour.WCF.Engine.EdWCF" % > 

मेरे Web.Config:

<?xml version="1.0"?> 
<configuration> 
<system.serviceModel> 

    <behaviors> 
     <serviceBehaviors> 
     <behavior name="MyBehaviour"> 
      <serviceMetadata HttpGetEnabled="True" /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 

<service name="TwoFour.WCF.Engine.EdWCF" behaviorConfiguration="MyBehaviour"> 
     <host> 
      <baseAddresses> 
      <add baseAddress="net.tcp://localhost:12345/WCF/EdWCF.svc"/> 
      </baseAddresses> 
     </host> 
     <endpoint address="" 
       binding="netTcpBinding" 
       bindingConfiguration="InsecureTcp" 
       contract="TwoFour.WCF.Interface.Shared.IEdWCF" /> 
     <endpoint address="mexhttp" binding="mexHttpBinding" contract="IMetadataExchange"/> 
</service> 

    <bindings> 
      <netTcpBinding> 
       <binding name="InsecureTcp" portSharingEnabled="true"> 
        <security mode="None" /> 
       </binding> 
      </netTcpBinding> 
     </bindings> 

</system.serviceModel> 

</configuration> 

कोई मदद या सुझाव के लिए धन्यवाद!

उत्तर

13
  1. आईआईएस में सक्षम प्रोटोकॉल सूची में बाध्यकारी net.tcp जोड़ने (मांगे वेब साइट -> अग्रिम सेटिंग्स -> सक्षम प्रोटोकॉल)

  2. साइट में बाध्यकारी net.tcp जोड़ने (संपादित करें बाइंडिंग बंधन -> जोड़ें -> net.tcp के रूप में प्रकार चुनें और यह 12345 जैसा बंदरगाह जोड़ें: *)

आप भी अपने config में बेस पता निर्दिष्ट करना होगा:

<system.serviceModel> 
<services> 
    <host> 
     <baseAddresses> 
     <add baseAddress="net.tcp://server:12345/ServiceAddress.svc"/> 
     </baseAddresses> 
    </host> 
    ... 
</service> 
    ... 
</system.serviceModel> 

संपादित करें:

त्वरित जवाब के लिए इस

<system.serviceModel> 

    <behaviors> 
     <serviceBehaviors> 
     <behavior name="MyBehaviour"> 
      <serviceMetadata /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 

<service name="TwoFour.WCF.Engine.EdWCF" behaviorConfiguration="MyBehaviour"> 
     <host> 
      <baseAddresses> 
      <add baseAddress="net.tcp://localhost:12345/WCF/EdWCF.svc"/> 
      </baseAddresses> 
     </host> 
     <endpoint address="" 
       binding="netTcpBinding" 
       bindingConfiguration="InsecureTcp" 
       contract="TwoFour.WCF.Interface.Shared.IEdWCF" /> 
     <endpoint address="mextcp" binding="mexTcpBinding" contract="IMetadataExchange"/> 
</service> 

    <bindings> 
      <netTcpBinding> 
       <binding name="InsecureTcp" portSharingEnabled="true"> 
        <security mode="None" /> 
       </binding> 
      </netTcpBinding> 
     </bindings> 

</system.serviceModel> 
+0

धन्यवाद की कोशिश करो। मेरे पास पहले से ही बाइंडिंग सक्षम हैं, और मैंने बस अपनी कॉन्फ़िगरेशन फ़ाइल में होस्ट बेस पता जोड़ा है जहां baseAddress = "net.tcp: // localhost: 12345/EdWCF.svc" - अभी भी कनेक्ट करने में सक्षम नहीं है। –

+0

आपको पूरा पता जोड़ने की जरूरत है। यदि EdWCF.svc इंजन फ़ोल्डर में है, तो इसे net.tcp में बदलें: // localhost: 12345/Engine/EdWCF.svc –

+0

मेरे पास आईआईएस एप्लीकेशन का भौतिक पथ सी: \ उपयोगकर्ता \ डब्ल्यूसीएफ \ डब्ल्यूसीएफ पर सेट है जहां एडडब्ल्यूसीएफ एसएससीसी फ़ाइल स्थित है। मैंने net.tcp: // localhost: 12345/WCF/EdWCF.svc रखने के लिए मूल पता समायोजित किया है, लेकिन जब मैं अपने क्लाइंट से कनेक्ट करने का प्रयास करता हूं तब भी मुझे मिलता है: net.tcp से कनेक्ट नहीं हो सका: // localhost: 12345/WCF /EdWCF.svc। कनेक्शन प्रयास 00: 00: 02.0052005 के समय अवधि के लिए चला गया। टीसीपी त्रुटि कोड 10061: कोई कनेक्शन नहीं बनाया जा सका क्योंकि लक्ष्य मशीन ने इसे सक्रिय रूप से अस्वीकार कर दिया 127.0.0.1:12345। –