我想從IDesign使用ServiceModelEx庫。當我嘗試呼叫時:InProcProxyFactory.CreateInstance從WCF服務調用
InProcFactory.CreateInstance();
從與WCF服務(基本上是從調用WCF服務WCF服務B),我收到以下錯誤:
找不到動態組裝
發生故障的代碼是:
internal static Assembly[] GetWebAssemblies()
{
Debug.Assert(IsWebProcess());
List<Assembly> assemblies = new List<Assembly>();
if(Assembly.GetEntryAssembly() != null)
{
throw new InvalidOperationException("Can only call in a web assembly");
}
foreach(ProcessModule module in Process.GetCurrentProcess().Modules)
{
assemblies.Add(Assembly.LoadFrom(module.FileName));
if (module.ModuleName.StartsWith("App_Code.") && module.ModuleName.EndsWith(".dll"))
{
assemblies.Add(Assembly.LoadFrom(module.FileName));
}
if (module.ModuleName.StartsWith("App_Web_") && module.ModuleName.EndsWith(".dll"))
{
assemblies.Add(Assembly.LoadFrom(module.FileName));
}
}
if (assemblies.Count == 0)
{
throw new InvalidOperationException("Could not find dynamic assembly");
}
return assemblies.ToArray();
}
程序集不是用App_Web或App_Code預先固定的,因爲這不是一個網站或一個Web應用程序(它是一個WCF服務)。但是,如果我從網站,Web應用程序或EXE調用該代碼,代碼確實可行。這是通過設計?
不,如果我看Process.GetCurrentProcess()模塊,我可以看到我要找的DLL。 – user472292
開頭的斷言是否失敗? – Peter