MVC и Sitefinity api
Я работаю над проектом, который должен обновить данные в базе данных Sitefinity. Я добавил Telerik.Sitefinity_All в проект. Я добавил строку подключения в базу данных, которая содержит все данные sitefinity. Я пытаюсь использовать API для sitefinity для подключения к базе данных и получения данных, но у меня проблемы. Как вы настраиваете App.WorksWith() для использования соединения с базой данных sitefinity, или есть хорошая документация, показывающая, как полностью настроить это? Заранее благодарен за любую помощь, я чрезвычайно новичок в Sitefinity. К вашему сведению, это использует Sitefinity v 9.2
1 ответ
Предполагая, что сайт строится и работает нормально, это то, что вам нужно сделать, чтобы иметь возможность создать пользовательскую службу Web Api, которая будет использовать API Sitefinity и позволит вызывать web api из внешних приложений:
Зарегистрируйте собственный маршрут - это делается в файле Global asax. Смотрите пример ниже:
protected void Application_Start(object sender, EventArgs e) { SystemManager.ApplicationStart += SystemManager_ApplicationStart; } private void SystemManager_ApplicationStart(object sender, EventArgs e) { RegisterRoutes(RouteTable.Routes); } private void RegisterRoutes(RouteCollection routes) { routes.Ignore("{resource}.axd/{*pathInfo}"); routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "ajax/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional }); }
Здесь я использую /ajax/ route, потому что /api/ уже занят Sitefinity в 9.2.
Создайте свой контроллер веб-API и используйте API Sitefinity внутри:
public class CourseController : ApiController { [HttpPost] public HttpResponseMessage CreateOrUpdateCourse([FromBody] Course item) { // use Sitefinity API here // if you need to make modifications to the data then you need to use the ElevatedModeRegion }}