साथ क्रमबद्धता POCO प्रॉक्सी जब मैं अपने सेवा चलाने मैं अपवाद है:WCF
सर्वर अनुरोध संसाधित करते समय एक त्रुटि आई। अपवाद संदेश 'सिस्टम के प्रकार पैरामीटर को क्रमबद्ध नहीं कर सकता है। डेटा.एन्टीटी। डायनामिकप्रॉक्सिस। कोसिकिक 4 सी 2 ...' (ऑपरेशन 'गेटकोसिक', अनुबंध 'आईसीओएसआईसीएस सेवा') क्योंकि यह सटीक प्रकार नहीं है 'Project.Domain.Entities.Cosik 'विधि हस्ताक्षर में और ज्ञात प्रकार के संग्रह में नहीं है। पैरामीटर को क्रमबद्ध करने के लिए, ServiceKnownTypeAttribute का उपयोग करके ऑपरेशन के लिए ज्ञात प्रकार संग्रह में प्रकार जोड़ें। '। अधिक जानकारी के लिए सर्वर लॉग देखें।
मैं डब्ल्यूसीएफ सेवाओं और इकाई फ्रेमवर्क के लिए नया हूं और मैं किसी भी मदद/सुझावों की सराहना करता हूं।
मैं इकाई फ्रेमवर्क 4.1 का उपयोग कर रहा हूं। का प्रयोग कोड-पहले मैं दो तालिकाओं के साथ डेटाबेस बनाया:
[DataContract(IsReference=true)]
public class Cosik
{
[DataMember]
public int cosikID { get; set; }
[DataMember]
public string title { get; set; }
[DataMember]
public int DifficultyID { get; set; }
[DataMember]
public virtual Difficulty Difficulty { get; set; }
}
[DataContract(IsReference=true)]
public class Difficulty
{
[DataMember]
public int DifficultyID { get; set; }
[DataMember]
[Required]
public string NameToDisplay { get; set; }
}
अगला मैं WCF सेवा आवेदन बनाया है और यह RESTful बनाया है। नीचे इंटरफेस के लिए कोड है: कि अनुबंध
public class RecipeService : IRecipeService
{
//repository of Cosik entities - stores collection of all
//Cosik entities that can be queried from DB
private ICosikRepository cosikRepo;
...
public Cosik GetCosik()
{
Cosik c = cosikRepo.GetById(1);
return c;
}
की
[ServiceContract]
public interface ICosikService
{
[OperationContract]
[ApplyDataContractResolver]
[WebGet(UriTemplate = "/cosik")]
Cosik GetCosik();
}
और कार्यान्वयन मैं पर दिया ApplyDataContractResolverAttribute वर्ग कार्यान्वित: http://msdn.microsoft.com/en-us/library/ee705457.aspx और GetCosik विधि के लिए [ApplyDataContractResolver] एनोटेशन गयी। हालांकि, यह मदद नहीं की।
कोई सुझाव जो मैंने याद किया है?
यह आपकी सेवा आपरेशन GetCosik() और जिसमें * Cosik * तरह लग रहा है आप में चिह्नित किया है चूंकि एक डेटा अनुबंध वही नहीं है * कोसिक * जैसा कि आपके इकाई मॉडल में परिभाषित किया गया है और आपकी सेवा किसी कारण से वापस आने की कोशिश कर रही है। –
यदि आप 'संदर्भ का उपयोग कर अपने [ऑब्जेक्ट कॉन्टेक्स्ट] (http://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.aspx) में आलसी लोडिंग अक्षम करते हैं, तो आपको अभी भी वही त्रुटि मिलती है। ContextOptions.LazyLoadingEnabled = false'? –
क्या आप अपनी पकाने की विधि वर्ग के ऊपर [ज्ञात टाइप (कोसिक)] जोड़ सकते हैं। – Rajesh