Hey everyone, hope someone can get me over the hump with an issue I am having getting all of the Apis installed on a project.
I have installed the following APIs into our solution:
- ServiceApi
- Content Delivery API
- Content Deliver Search API
- Content Management Api
I have a WebApiInit Module that calls GlobalConfiguration.Configuration.MapHttpAttributeRoutes()
[InitializableModule]
[ModuleDependency(typeof(FrameworkInitialization))]
public class WebApiInitialization : IInitializableModule
{
public void Initialize(InitializationEngine context)
{
GlobalConfiguration.Configuration.MapHttpAttributeRoutes();
}
public void Uninitialize(InitializationEngine context) {}
}
The following settings have been added to disable the MapHttpAttributeRoutes
<!-- Content Delivery API --><add key="episerver:contentdelivery:maphttpattributeroutes" value="false" /><add key="episerver:contentdeliverysearch:maphttpattributeroutes" value="false" /><!-- Content Management API --><add key="episerver:contentmanagementapi:maphttpattributeroutes" value="false" /><!-- Service API --><add key="episerver:serviceapi:maphttpattributeroutes" value="false" /><add key="episerver:serviceapi:requiressl" value="false" />
I have also set optimizeCompilations="false" in the web.config.
When my site loads I have code that lists the available routes. All of the routes are showing EXCEPT for the Content Delivery Routes. I don't think that set of APIs are being initialized.
To test this I removed the WebApiInitialization code above and played around with the appsetttings
- With the app settings above none of the APIs were loaded.
- When episerver:contentdelivery:maphttpattributeroutes was set to true none of the api routes were registered
- When episerver:contentdeliverysearch:maphttpattributeroutes was set to true all of the routes EXCEPT the Content Delivery Api were registered
- When episerver:contentdeliverysearch:maphttpattributeroutes and episerver:contentdelivery:maphttpattributeroutes were set to true all of the routes EXCEPT the Content Delivery Api were registered. I would expect this to throw an error of "A route named 'MS_attributerouteWebApi' is already in the route collection."
- When any two non content delivery api maphttpattributeroutes settings were set to true I would recive the error of "A route named 'MS_attributerouteWebApi' is already in the route collection." (which would be the correct behavior)
Also, I have validated the the content delivery api assembly was deployed correctly to my bin folder :-)
Thanks in advance for any ideas or suggestions!!!