Я вижу набор ответов, в которых говорится, что помещение всего о пользователе 123 в ресурсе "/user/123" УСПОКОИТЕЛЬНОЕ.
Roy Fielding, который ввел термин, говорит , API REST должны управляться гипертекстом . В частности, "API REST не должен определять зафиксированные имена ресурса или иерархии".
Поэтому, если Ваш путь "/user/123" является hardcoded на клиенте, это не ДЕЙСТВИТЕЛЬНО УСПОКОИТЕЛЬНО. Хорошее использование HTTP, возможно, возможно, нет. Но не УСПОКОИТЕЛЬНЫЙ. Это должно прибыть из гипертекста.
Похоже, вы можете использовать событие AppDomain.AssemblyResolve и вручную загрузить зависимости из каталога DLL.
Изменить (из комментария):
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.AssemblyResolve += new ResolveEventHandler(LoadFromSameFolder);
static Assembly LoadFromSameFolder(object sender, ResolveEventArgs args)
{
string folderPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string assemblyPath = Path.Combine(folderPath, new AssemblyName(args.Name).Name + ".dll");
if (!File.Exists(assemblyPath)) return null;
Assembly assembly = Assembly.LoadFrom(assemblyPath);
return assembly;
}
Вы можете добавить пробный путь ] в файл .config вашего приложения, но он будет работать, только если путь зондирования содержится в базовом каталоге вашего приложения.
загляните в AppDomain.AppendPrivatePath (устарело) или AppDomainSetup.PrivateBinPath