2015-05-21 7 views
5

मैं एक WebAPI 2 परियोजना में एक BreezeController है:त्रुटि: मेटाडाटा क्वेरी विफल के लिए:

var mgr = new breeze.EntityManager({ 
    serviceName: "http://localhost:24830/breeze/breeze/" 
}); 

EntityQuery 
    .from('Properties') 
    .select('ID') 
    .using(mgr) 
    .execute() 
    .then(querySucceeded, _queryFailed); 

function querySucceeded(data) { 
    return data.results; 
} 

function _queryFailed(error) { 
    alert("Error while making http call: " + error.message); 
} 

जब:

[BreezeController] 
public class BreezeController : ApiController 
{ 
    private readonly IBreezeRepository _repo; 

    public BreezeController(IBreezeRepository repo) 
    { 
     _repo = repo; 
    } 

    [HttpGet] 
    public string Metadata() 
    { 
     return _repo.MetaData; 
    } 

    [HttpGet] 
    public IQueryable<Property> Properties() 
    { 
     return _repo.Properties; 
    } 
} 

मेरे क्लाइंट एप्लिकेशन डेटा लेने वाली के लिए इस कोड है मैं अपना ऐप चलाता हूं - यह एक मोबाइल ऐप है और यह रिपपल में खुलता है - मैं जावास्क्रिप्ट में डीबग कर सकता हूं। यह _queryFailed विधि में चलता है और मुझे यह त्रुटि संदेश मिलता है:

मेटाडाटा क्वेरी विफल: http://localhost:24830/breeze/breeze/Metadata; अपरिभाषित

सर्वर डीबगर में भी चल रहा है। यह Metadata() विधि में ब्रेकपॉइंट को हिट नहीं करता है। लेकिन अगर मैं एक ब्राउज़र में पथ डालता हूं, और यह मेटाडेटा देता है।

समस्या की जांच करने के लिए अब मैं क्या कर सकता हूं?

संपादित करें मैंने कुछ अलग करने की कोशिश की। मैंने विजुअल स्टूडियो के अलग-अलग उदाहरणों में व्यक्तिगत परियोजनाएं खोली हैं (मैं वीएस 2015 आरसी का उपयोग कर रहा हूं)। अब मैं सर्वर पर ब्रेकपॉइंट मारा और मेरा ग्राहक querySucceeded फ़ंक्शन में चला गया। तो एक तरह की सफलता। तो सवाल बदलता है। क्या विजुअल स्टूडियो के सिर्फ एक उदाहरण में काम करने के लिए मेरा पर्यावरण स्थापित करने का कोई तरीका है?

उत्तर

1

क्या आपने मेटाडेटा मैन्युअल रूप से लाने की कोशिश की है?

function fetchMetadata() { 
    var manager = new breeze.EntityManager("api/breeze"); 
    if (manager.metadataStore.isEmpty()) { 
     return manager.fetchMetadata(); 
    } 

    return Q.resolve(); 
} 

function start() { 
    fetchMetadata().then(function() { 
     // Metadata fetched. 
     // Do something here. 
    }); 
} 

स्रोत: breeze fetch meta data if not present

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