मेरे पास एक एमईएफ एप्लीकेशन है जो स्थानीय रूप से चलाने पर बहुत अच्छा काम करता है, लेकिन जब नेटवर्क नेटवर्क पर दूरस्थ रूप से कॉल किया जाता है तो काम नहीं करता है।एमईएफ संरचना जब अनुप्रयोग एक नेटवर्क पर है शेयर
मैं यूएनसी मुद्दों से बचने के लिए असेंबली.लोड लोड से उपयोग कर रहा हूं, लेकिन देख रहा हूं क्योंकि सभी डीएल एक्सई के बगल में स्थित हैं, मुझे वास्तव में यह नहीं लगता कि यह समस्या होगी, लेकिन मैंने इसे किसी भी तरह से करने की कोशिश की।
मैंने msdn पर देखने के बाद, .NET 4 अनुमतियों के साथ एक सामान्य समस्या प्रतीत होती है, जो कॉन्फ़िगरेशन मैनेजर.गेटसेक्शन समस्याओं को भी ठीक करता है।
मैं कॉन्फ़िगरेशन फ़ाइल में <loadFromRemoteSources enabled="true"/>
की अनुमति दे रहा हूं। तो मुझे यकीन नहीं है कि समस्या कहां हो सकती है।
संपादित करें: अपवाद में उत्पाद डिस्प्लेचर सूची में निश्चित है। मार्ग।
कोड कंटेनर और सूची की स्थापना:
var catalog = new AggregateCatalog();
var dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
foreach (string file in Directory.GetFiles(dir, "XXX*.dll"))
{
var assembly = Assembly.LoadFrom(file);
catalog.Catalogs.Add(new AssemblyCatalog(assembly));
}
var container = new CompositionContainer(catalog);
var batch = new CompositionBatch();
batch.AddPart(this);
container.Compose(batch);
आयात है (जो मैं कर रही जनता की कोशिश की है):
[ImportMany(typeof(IEntityTypeDispatcher))]
private IEnumerable<IEntityTypeDispatcher> Dispatchers { get; set; }
एक निर्यात का एक उदाहरण है:
[Export(typeof(IEntityTypeDispatcher))]
internal class ContactDispatcher : EntityTypeDispatcher<Contact>
मुझे प्राप्त अपवाद त्रुटि है:
The composition produced a single composition error. The root cause is provided below. Review the CompositionException.Errors property for more detailed information.
1) Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
Resulting in: An exception occurred while trying to create an instance of type 'XXX.XXX.Dispatch.ProductDispatcher'.
Resulting in: Cannot activate part 'XXX.XXX.Dispatch.ProductDispatcher'.
Element: XXX.XXX.Dispatch.ProductDispatcher --> XXX.XXX.Dispatch.ProductDispatcher --> AssemblyCatalog (Assembly="XXX.XXX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null")
Resulting in: Cannot get export 'XXX.XXX.Dispatch.ProductDispatcher (ContractName="XXX.XXX.Dispatch.IEntityTypeDispatcher")' from part 'XXX.XXX.Dispatch.ProductDispatcher'.
Element: XXX.XXX.Dispatch.ProductDispatcher (ContractName="XXX.XXX.Dispatch.IEntityTypeDispatcher") --> XXX.XXX.Dispatch.ProductDispatcher --> AssemblyCatalog (Assembly="XXX.XXX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null")
Resulting in: Cannot set import 'XXX.XXX.Dispatch.DispatcherRepository.Dispatchers (ContractName="XXX.XXX.Dispatch.IEntityTypeDispatcher")' on part 'XXX.XXX.Dispatch.DispatcherRepository'.
Element: XXX.XXX.Dispatch.DispatcherRepository.Dispatchers (ContractName="XXX.XXX.Dispatch.IEntityTypeDispatcher") --> XXX.XXX.Dispatch.DispatcherRepository
(System.ComponentModel.Composition.CompositionException)
at System.ComponentModel.Composition.CompositionResult.ThrowOnErrors(AtomicComposition atomicComposition)
at System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.Compose(CompositionBatch batch)
at System.ComponentModel.Composition.Hosting.CompositionContainer.Compose(CompositionBatch batch)
at XXX.XXX.Dispatch.DispatcherRepository.LoadDispatchers() in D:\Workspaces\XXX\Branches\Dev1\XXX.XXX\XXX.XXX\Dispatch\DispatcherRepository.cs:line 71
at XXX.XXX.Dispatch.DispatcherRepository.get_Instance() in D:\Workspaces\XXX\Branches\Dev1\XXX.XXX\XXX.XXX\Dispatch\DispatcherRepository.cs:line 34
at XXX.XXX.Dispatch.DispatcherRepository.GetDispatchers() in D:\Workspaces\XXX\Branches\Dev1\XXX.XXX\XXX.XXX\Dispatch\DispatcherRepository.cs:line 21
at XXX.XXX.Dispatch.Dispatcher.get_Instance() in D:\Workspaces\XXX\Branches\Dev1\XXX.XXX\XXX.XXX\Dispatch\Dispatcher.cs:line 30
at XXX.XXX.Broker..ctor() in D:\Workspaces\XXX\Branches\Dev1\XXX.XXX\XXX.XXX\Broker.cs:line 52
ऐसा लगता है कि एमईएफ आंशिक ट्रस्ट परिदृश्यों में बहुत अच्छा काम नहीं करता है। क्या यह सुनिश्चित करने के लिए मुझे कुछ भी करने की ज़रूरत है कि सब कुछ पूर्ण विश्वास में चल रहा है?
मैं अपनी परियोजनाओं के साथ एक ही समस्या थी, लेकिन मैं दुर्भाग्य से इस ठीक करने में सक्षम नहीं था। :( – eandersson