Хорошо, мне понравились ответы, которые я получил до сих пор (спасибо вам обоим), но это не совсем решило мою проблему, учитывая ограничения и цели, которые я имею с моим API. Итак, я хотел бы детализировать решение, которое нашел и планирую использовать.
Для начала я управляю версией моего API через URI. Это означает, что различные версии API будут выглядеть так:
http://api.mysite.com/authentication/login
http://api.mysite.com/v1/authentication/login
http://api.mysite.com/v2/auth/login
http://api.mysite.com/v3/auth/letmeinplease
... you get the point ...
Здесь важно отметить, что, если я не включу номер версии, то я по умолчанию вернусь к версии 1. Однако это будет моя текущая настройка, с такой же легкостью это может быть установка по умолчанию на последнюю версию, последнюю стабильную версию и т. Д. .
Вот и мы. Я создал папку, в которой будет жить приложение (wwroot/api
). Внутри этой папки я создал папки для всех версий: v1, v2 и т. Д. Теперь в IIS (для меня 7.5) я создал новый проект с корнем приложения wwroot/api/v1
. Затем я добавил каждую версию папки (в том числе v1) в качестве вложенного приложения. Это позволяет мне создавать версии API через URI (как показано выше), однако здесь есть одна оговорка.
Наследование Web.config действительно может быть проблемой. Итак, я позаботился о том, чтобы отключить его для всех моих версий API. Справку о том, как это сделать, можно найти здесь . За этим исключением все работает как шарм! : -)