1

我成功安装了 SenseNet 框架,它正在我的电脑上运行,但我不知道如何使用这个框架为我们的数据库开发我的私人网站项目以及如何开始开发?你能帮助我吗 ?

非常感谢!

4

1 回答 1

3

我将尝试概述当前的可能性(从 SenseNet 版本6.5.4开始,因为在不久的将来会有新的选择)。

将 SenseNet 用作独立的 Web 应用程序

这就是您所做的:安装软件包并获得完整的 Web 应用程序:门户 UI 和内容存储库(db)。您可以通过创建新皮肤或创建页面并在页面上移动portlet来自 定义 GUI 。以下是一些入门链接:

关于维护项目(例如备份等),请查看 wiki 上的操作员和开发人员文章 - 或在此处提出具体问题 :)。

使用 SenseNet 作为后端服务

开发人员可以基于我们提供的OData REST API进行构建:您可以通过http 请求(或使用C#中的客户端 SDK )管理 Content Repository 中的内容。这需要与第一个选项相同的 SenseNet 安装,但您可以保留现有的 ASP.NET 应用程序,并且只从后端向 SenseNet rest api 发出请求(也可以从 JavaScript 进行跨站点 ajax 调用,但是您在敏感内容的情况下必须处理跨站点身份验证)。

在 SenseNet Content Repository 之上构建 ASP.NET webforms 或 mvc 应用程序

目前这有点棘手,因为没有针对这种情况的“如何”wiki 文章。基本上,您将能够使用现有的(或新的)ASP.NET webforms 或 MVC 应用程序,并在 Content Repository 上构建作为存储。这样,您将失去内置 UI 和对 repo 进行 REST API 调用的可能性(在前面的选项中可能),但您仍然可以使用 SenseNet C# api直接连接到 repo (这称为进程内行为)。

为此,您必须将内置 SenseNet web.config 中的所有内容复制到应用程序的 Web 配置文件中,如果您想在启动时做一些初始化工作(MVC 或 Web api 路由等)必须从内置的全局类(称为SenseNetGlobal)继承,实现常用方法(app start、app end 等)并将其注册到 web 根目录的 global.asax 文件中。如果您在 web.config 中设置了正确的连接字符串和所有其他值,那么您应该能够从现在开始使用 SenseNet api(例如加载和操作内容项、查询 repo)。

编辑:自定义表的详细信息

自定义数据库表

无论您采用哪种方式,您当然都可以将自己的自定义表添加到 SenseNet 数据库中。不过,在您这样做之前,请考虑将您的对象作为常规内容项目存储在内容存储库中,这样您可能会受益于平台的内置功能,例如索引和权限。

但是如果你已经有一个表结构想要重用或集成,或者独立于SN更容易实现,你可以将自定义数据存储在同一个数据库中。我们提供了访问数据库的 API,您不必担心连接字符串和其他东西,您可以简单地使用SqlProcedure SenseNet 帮助类来执行直接 SQL 查询。

using (var cmd = new SqlProcedure { CommandText = "SELECT * FROM MyTable WHERE RefId = @MyId", CommandType = CommandType.Text })
{
    cmd.Parameters.Add("@MyId", SqlDbType.Int).Value = myId;

    var result = new List<int>();
    using (var reader = cmd.ExecuteReader())
    {
        while (reader.Read())
            result.Add(reader.GetSafeInt32(0));
        return result;
    }
}

也可以使用SenseNet 的内置 ASP.NET webforms 用户界面呈现甚至编辑外部项目(例如自定义表中的记录)。该平台(经过少量开发)能够使用内置字段控件(例如短文本、下拉菜单等)显示外部对象并让用户操作它们,而无需从头开始创建 CRUD 用户界面。

当然,您也可以使用现有的开发技能和首选控件构建自定义 UI。

于 2016-10-11T12:52:59.137 回答