-2

我正在开发一个需要更新 Sitefinity 数据库中的数据的项目。我将 Telerik.Sitefinity_All dll 添加到项目中。我已将连接字符串添加到包含所有 sitefinity 数据的数据库中。我正在尝试使用 API for sitefinity 连接到数据库并提取数据,但我遇到了麻烦。您如何配置 App.WorksWith() 以使用 sitefinity 数据库的连接,或者是否有任何好的文档显示如何完全设置它?在此先感谢您的帮助,我对 Sitefinity 非常陌生。仅供参考,这是使用 Sitefinity v 9.2

4

1 回答 1

1

假设站点构建并运行良好,这是您需要做的,以便能够创建自定义 Web Api 服务,该服务将使用 Sitefinity API 并允许从外部应用程序调用 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/ 路由,因为 /api/ 在 9.2 中已被 Sitefinity 采用。

  1. 创建您的 Web api 控制器并在内部使用 Sitefinity API:

    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   }}
    
于 2017-01-12T23:57:41.490 回答