2015-11-13 14 views
5

मैं एक ग्राहक के लिए एक परियोजना पर काम कर रहा है और मजेदार प्रणाली में SignalR को एकीकृत करने की एक बहुत कुछ किया था के लिए असफल।SignalR ग्राहक कॉल कुछ भाषाओं

सब कुछ वास्तव में अच्छी तरह से काम करने लगता है और ग्राहक कैसे SignalR अपने आवेदन के लिए सच वास्तविक समय प्रतिक्रिया देता बारे में बहुत उत्साहित है।

सबसे अधिक भाग के लिए सब कुछ के लिए कामयाबी से चला गया है, लेकिन मैं एक अजीब मुद्दा मैं बस नीचे पिन नहीं कर सकते में आ गए हैं।

सब कुछ निम्नलिखित स्थानों के लिए महान काम करता है:

  1. en-US
  2. en-GB
  3. यह
  4. nl

हालांकि इन भाषाओं बस कभी नहीं से एक कॉलबैक मिलता है हब:

  1. fr
  2. डी
  3. तों
  4. en-ZW - हम सब तार की जाँच करने के अंग्रेजी जिम्बाब्वे का उपयोग अनुवाद कर रहे हैं।

मैं सही ऊपर कोड के माध्यम से कदम कर सकते हैं जब तक Clients.Client(ConnectionId).update(Result); (जहां ConnectionId सही कनेक्शन आईडी है, और परिणाम वस्तु इस दोषरहित हो जाता है पहले चार भाषाओं के साथ, धारावाहिक के लिए तैयार है और मैं के साथ मेरी जावास्क्रिप्ट विधि मिल अपेक्षित आउटपुट।

पिछले चार हालांकि भाषाओं पर, विधि निकाल दिया जाता है, लेकिन कुछ भी दूसरी तरफ। कुछ भी नहीं। पिन करने के लिए के माध्यम से आता है।

अगर मैं Strings.fr.resx डिफ़ॉल्ट के साथ दायर की जगह Strings.resx तो मेरी साइट अपेक्षित के रूप में कार्य करती है, लेकिन चूंकि स्ट्रिंग्स.न-जेडब्ल्यू.एआरएक्स फ़ाइल स्ट्रिंग्स.एक्सएक्स (केवल प्रत्येक स्ट्रिंग के समान है) [[)] में लपेटा गया है) मुझे संदेह है कि यह मुद्दा है। मैंने सभी यूनिकोड अनुवादों (`, é, â, आदि) के साथ फ्रैंक लोकेल का उपयोग करने का भी प्रयास किया, लेकिन इससे मदद नहीं मिली।

मैं अब लगभग पूरे दिन के लिए इस पर जा रहा हूं और इस मुद्दे को इंगित करने वाला कुछ भी नहीं मिला, और तथ्य यह है कि यह ठीक काम करता है और जेडडब्ल्यू वास्तव में मुझे भ्रमित नहीं करता है।

किसी के पास कोई सुझाव है?

हब विधि:

public class ClientHub : Hub 
{ 
    [...] 

    protected void UpdateRecords(List<Int32> ChangedValues) 
    { 
     using (var database = new DbContext()) 
     { 
      foreach (Record R in database.Records.Where(Rc => ChangedValues.Contains(Rc.Id)) 
      { 
       SignalRFormattedRecord Serialized = new SignalRFormattedRecord(Record); 

       foreach (SavedFilter Filter in SavedFilters.ByRecord(Record)) 
       { 
        // Next line is always called. 
        Clients.Client(Filter.ConnectionId).updateRow(Serialized); 
       } 
      } 
     } 
    } 

    [...] 
} 

जावास्क्रिप्ट:

$.connection.clientHub.updateRow = function(value) { 
    debugger; 
    // update code works in all languages except FR, DE, ES and en-ZW. 
} 

$.connection.start(); 

उत्तर

2

बाहर कर देता है फिल्टरिंग सिस्टम जहां यह किया जाना चाहिए था नास्तिक भाषा नहीं था, और मैं के दौरान कनेक्शन झूलते के कारण झूठे सकारात्मक हो रही थी डिबग।

मुझे अब काफी बेवकूफ लगता है।

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