Где найти динамически генерируемую сборку сериализации прокси веб-службы? - PullRequest
1 голос
/ 19 января 2011

У меня есть клиентское приложение (плагин IE), которое выполняет вызов веб-службы. Я иногда получаю эту ошибку при запуске:

System.IO.IOException: процесс не может получить доступ к файлу 'C: \ Users \ paul.nearney \ AppData \ Local \ Temp \ j8imytd-.dll' потому что он используется другим процесс. в System.IO .__ Error.WinIOError (Int32 errorCode, String MaybeFullPath) в System.IO.FileStream.Init (Строковый путь, Режим FileMode, доступ к FileAccess, Права Int32, логические права использования, Общий доступ к FileShare, размер буфера Int32, Опции FileOptions, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) в System.IO.FileStream..ctor (String путь, режим FileMode, FileAccess доступ) в Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch (CompilerParameters options, String [] fileNames) в Microsoft.CSharp.CSharpCodeGenerator.FromSourceBatch (CompilerParameters параметры, String [] sources) в Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromSourceBatch (CompilerParameters параметры, String [] sources) в System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromSource (CompilerParameters параметры, String [] sources) в System.Xml.Serialization.Compiler.Compile (Собрание родитель, строка нс, XmlSerializerCompilerParameters xmlParameters, Доказательства)
в System.Xml.Serialization.TempAssembly.GenerateAssembly (XmlMapping [] xmlMappings, Type [] types, String defaultNamespace, Доказательства, XmlSerializerCompilerParameters параметры, сборка сборки, Hashtable сборки) в System.Xml.Serialization.TempAssembly..ctor (XmlMapping [] xmlMappings, Type [] types, String defaultNamespace, расположение строки, Доказательства доказательства) на System.Xml.Serialization.XmlSerializer.GetSerializersFromCache (XmlMapping [] сопоставления, тип Type) в System.Xml.Serialization.XmlSerializer.FromMappings (XmlMapping [] сопоставления, тип Type) в System.Web.Services.Protocols.SoapClientType..ctor (Тип тип) в System.Web.Services.Protocols.SoapHttpClientProtocol..ctor () at MyWebService..ctor (String url)

Я еще не нашел надежного репро для этого, но я предполагаю, что эта ошибка происходит, потому что иногда возникает некоторая конкуренция по поводу динамически генерируемой сборки прокси для веб-службы, возможно, из-за нескольких попыток IE создать / использовать сборку одновременно (?)

Я думаю, что смогу обойти это, заставив VS генерировать прокси для меня во время компиляции, но я должен быть на 100% уверен, что эта сборка будет использоваться во время выполнения. Я планировал протестировать решение как есть, подтвердить, что сборка сгенерирована, а затем перекомпилировать с VS, компилирующим сборку прокси, затем повторно протестировать и подтвердить, что сборка прокси не генерируется во время выполнения.

Единственная проблема в том, что я нигде не могу найти динамически сгенерированную сборку прокси ..! Я пробовал:

  • % Temp%
  • % SystemRoot% \ Temp
  • Запуск программы просмотра журнала Fusion (без упоминания об автоматической сборке)
  • Запуск ProcessMonitor (вообще нет доступа к файлу на временном dll)

У меня заканчиваются идеи!

...