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 из внешних приложений:

  1. Зарегистрируйте собственный маршрут - это делается в файле 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.

  1. Создайте свой контроллер веб-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   }}
    
Другие вопросы по тегам