2012-04-05 17 views
10

साथ पिछले संस्करण workflows मैं हमारे worklow क्रम द्वारा प्रयोग किया जाता विधानसभाओं उन्नत करने के लिए एक तरह से यह पता लगाने की कोशिश कर रहा हूँ (कस्टम गतिविधियों), जबकि अभी भी (deserialize) पुराने उदाहरणों लोड करने में सक्षम किया जा रहा है। मेरे स्थिति इस तरह है:लोड हो रहा है नए संस्करण विधानसभा

  1. है एक कार्यप्रवाह उदाहरण बनाया और CustomActivities v.1.0.0.0
  2. साथ कायम उत्पाद डायन का एक नया संस्करण को तैनात है CustomActivities v.2.0.0.0
  3. करने की कोशिश नए रनटाइम

v.1 और v.2 के बीच का अंतर यह है कि हमारे पास असेंबली में कुछ अतिरिक्त कक्षाएं हैं। मौजूदा प्रकारों की संरचना में बदलाव नहीं आया है, इसलिए मुझे लगता है कि बाइनरी deserialization अभी भी काम करेगा।

SerializationException: वस्तु के साथ हम v.1 से सभी प्रकार रीडायरेक्ट कर रहे हैं कुछ बिंदु पर फिर भी AssemblyResolve घटना

if (args.Name.Contains("CustomActivities")) 
{ 
    Type someTypeFromCustomActivities = typeof(WorkflowType); 
    return someTypeFromCustomActivities.Assembly; 
} 

का उपयोग कर अक्रमांकन प्रक्रिया के दौरान हम निम्न अपवाद हो रही है v.2 के लिए आईडी 153 IObjectReference इंटरफ़ेस लागू करता है जिसके लिए सभी निर्भरताओं को हल नहीं किया जा सकता है। संभावित कारण IObjectReference के दो उदाहरण हैं जिन पर एक दूसरे पर पारस्परिक निर्भरता है।

इस व्यवहार का कारण क्या हो सकता है और हम इसके आसपास कैसे काम कर सकते हैं? यदि किसी के पास वर्कफ़्लो को अपग्रेड करने की रणनीति है, जिसमें साइड असेंबली (पुराने ऐप डोमेन) में पुराने और नए संस्करण शामिल नहीं हैं, तो उनका स्वागत किया जाएगा।

+0

इस ब्लॉग का कहना है: > अगर आप अपने कार्यप्रवाह (उदाहरण के लिए कुछ नए राज्य बनाए जाने पर) बदल की जाँच करें, यदि ऐसा है तो जांच लें कि आपका हठ डेटाबेस किसी भी उस में कार्यप्रवाह कायम की है। अगर आपकी समस्या हो सकती है क्योंकि वर्कफ़्लो को फिर से क्रमबद्ध नहीं किया जा सकता है। > @AZ क्या यह आपका मामला हो सकता है? http://brazeta.wordpress.com/2012/01/12/vs-2010-test-assert-inconclusive-exception/ – sethcall

+1

कक्षा/वर्कफ़्लो संरचना थोड़ा सा नहीं बदला है। इसके अलावा मैं केवल स्थिर डेटा को हटा नहीं सकता क्योंकि इसका मतलब यह होगा कि मैं सक्रिय उत्पादन वर्कफ़्लो –

उत्तर

2

असेंबली समाधान घटना धारावाहिक प्रकार असेंबली संदर्भों को बदलने के लिए कुछ भी नहीं करती है। क्या आपने मशीन स्तर पर v1 से v2 तक असेंबली बाइंडिंग रीडायरेक्ट करने का प्रयास किया है।

अद्यतन: मुझे यह लिंक मिल गया है जो एक वर्किंग के लिए पुरानी वर्कफ़्लोज़ को नए संस्करणों में अग्रेषित करने के लिए बाध्यकारी रीडायरेक्ट का उपयोग करने के बारे में बात करता है।

http://msdn.microsoft.com/en-us/library/aa349375.aspx

+0

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

+0

- 1 उत्तर के लिए नहीं। यह एक अच्छी टिप्पणी हो सकती है हालांकि –

+0

मैं हवाई अड्डे पर था, जबकि मैं इसे अपने फोन पर लिख रहा था, इसलिए मैं अल्पसंख्यकता और स्पष्टता की कमी और गलत जगह में जवाब देने के लिए क्षमा चाहता हूं। –

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