2012-03-21 13 views
13

मैं एक अस्पष्टीकृत अपवादसेवा '' शून्य आवेदन (गैर बुनियादी ढांचे) अंतिम बिंदु है

Service 'EmployeeManagerImplementation.EmployeeManagerService' has zero application (non-infrastructure) 
endpoints. This might be because no configuration file was found for your application, 
or because no service element matching the service name could be found in the configuration file, or because no endpoints were defined in the service element. 

iv'e अन्य पदों जो इस समस्या का समाधान कर लिया पार चलो मिल रही है, लेकिन कोई भी एक सटीक है लगता है जवाब, और उनके समाधानों में से कोई भी मेरे लिए काम नहीं किया।

Service has zero application (non-infrastructure) endpoints

किसी भी तरीके

यहाँ मेरी app.config है

<system.serviceModel> 
    <services> 
     <service name="Some.Test.EmployeeManagerService"> 
      <endpoint address="net.tcp://localhost:8080/Service" binding="netTcpBinding" 
       bindingConfiguration="" contract="Contracts.IEmployeeManagerService" /> 
      <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange"/> 
     </service> 
    </services> 
</system.serviceModel> 

मेरे अनुबंध:

[ServiceContract(Namespace="Some.Test")] 
public interface IEmployeeManagerService 
{ 
    [OperationContract] 
    string Test();  
} 

मेरे सेवा:

public class EmployeeManagerService : IEmployeeManagerService 
{ 
    public string Test() 
    { 
     return "test"; 
    } 
} 
संबंधित पोस्ट लोग विज्ञापन में

अनुबंध को नामस्थान देने के लिए, और सेवा टैब में नाम के लिए मेरे app.config में उपसर्ग के रूप में उपयोग करने के लिए देखा गया।

भी MEX अंत बिंदु को बेनकाब करने के लिए एक सुझाव था ... मैं सच यह है कि क्या के रूप में यह से कोई लेना देना नहीं दिख रहा है, लेकिन मैं इसे किसी भी तरीके से किया था।

तो ऐसा क्यों होता है इसका कोई विचार? और इस समस्या को वास्तव में कैसे हल करें?

+6

o'k पता चला है यह सेवा नाम स्थान सहित कार्यान्वयन के रूप में ही सही नाम <सेवा नाम = "EmployeeManagerImplementation.EmployeeManagerService"> का नाम विशेषता को @Johann Blais http धन्यवाद देने के लिए की जरूरत है ://स्टैक ओवरफ़्लो।कॉम/प्रश्न/5270956/सेवा-एक्स-है-शून्य-एप्लिकेशन-एंडपॉइंट्स-जब तक- i-add-an-endpoint-in-code-wh –

+2

आपको इसे एक उत्तर के रूप में जोड़ना चाहिए और इसे स्वीकार करना चाहिए। – flayn

+0

मैंने उत्तर के लिए एक लिंक डाला जिसने मुझे मदद की ... उतना ही अच्छा :) –

उत्तर

10
अपनी खुद की टिप्पणी से

:

सेट नाम नाम स्थान

<service name="EmployeeManagerImplementation.EmployeeManagerService">

1

सेवा के नाम के रूप में एक ही होना चाहिए सहित कार्यान्वयन के रूप में ठीक उसी नाम के लिए सेवा की विशेषता इंटरफ़ेस यानी इंटरफेस को लागू करने वाली क्लास फ़ाइल।

namespace WCFDemo 
{ 
    public interface IWorker 
    { 
    } 
} 

और मान लीजिए कि आप

namespace WCFDemo 
{ 
    public class WorkHere:Iworker 
    { 
    } 
} 

कार्यान्वित होते ही फिर सेवा का नाम होगा <service name="WCFDemo.WorkHere">

2

कॉपी जो सेवा होस्ट कर रहा है सेवा एप्लिकेशन सांत्वना देने से app.config

हैं यदि आप एक वर्ग पुस्तकालय परियोजना के रूप में सेवा बनाया है और आप की मेजबानी के लिए यह तो बस एप्लिकेशन कॉपी कंसोल अनुप्रयोग का उपयोग कर रहे हैं। सांत्वना आवेदन

+0

आपको क्यों लगता है कि app.config सही जगह पर नहीं रखा गया है? मैंने 3 साल पहले भी इस प्रश्न से पूछा था। मैंने बस इसे पढ़ा और मैं नहीं देखता कि आपने कैसे निष्कर्ष निकाला कि यह समस्या है। मेरी पहली टिप्पणी बताती है कि मैंने इसे कैसे हल किया। –

+0

यह मेरे लिए समस्या हल हो गई। कारण यह है कि मैंने सेवा अनुबंध और इंस्टॉलर को अलग कर दिया है। तो मुझे नहीं पता था कि मेरे सेवा इंस्टॉलर को कॉन्फ़िगरेशन की भी आवश्यकता है। इस जवाब को ऊपर उठाओ। – Bassist

0

मेरी समस्या के लिए में सेवा से कॉन्फ़िग फ़ाइल, मैं सभी नामस्थान सही तरीके से सेट के रूप में अच्छी तरह से किया था। लेकिन मैं क्या करने में विफल सेवा को खुद के लिए एक basicHttpBinding endpoint जोड़ने था। this MSDN article, एक उदाहरण के लिए पहले एक्सएमएल config अनुभाग देखें।

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