我正在尝试使用 IDesign 中的 ServiceModelEx 库。当我尝试打电话时:
InProcFactory.CreateInstance();
从 WCF 服务中(基本上从 WCF 服务 A 调用 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 调用该代码,则该代码确实有效。这是设计的吗?