Umbraco ApplicationContext.Current为null

时间:2018-07-13 04:17:12

标签: umbraco umbraco7

我有一个MVC网站,我需要从Umbraco数据库中提取一些数据。我不需要任何Umbraco意见或任何其他内容。我是Umbraco Core库的新手。

我所做的是从我的Web项目中创建对Umbraco.core dll的引用,并将连接字符串添加到Web配置中的Umbraco数据库中。然后,我添加了一种方法来尝试检索一些数据

public IContentType GetBenefits() {

        var contentTypeService = ApplicationContext.Current.Services.ContentTypeService;
        var benefits = contentTypeService.GetContentType("Benefits");

        return benefits;
}

ApplicationContext.Current始终为空

我正在IIS Express下的本地开发PC上运行

我还需要执行其他任何操作来实例化Umbraco连接吗?

1 个答案:

答案 0 :(得分:0)

ApplicationContext.Current在这种情况下将始终为null,因为ApplicationContext.Current引用了Umbraco应用程序的当前正在运行的实例。为了拥有正在运行的实例,您需要配置,引导并运行完整的Umbraco安装。

我认为您不能单独使用Umbraco.Core来完成此操作,并且为连接数据库而添加所有这些额外的库无论如何都是过分的。

如果您需要访问Umbraco特定的数据库内容,那么最好的选择是向实际的Umbraco实例添加Umbraco Api Controller并使用Web API公开所需的数据。

一键您可以直接连接到数据库,但是数据库已被很好地抽象和规范化,因此,除非您只需要数据库中非常特定的数据,否则这是不值得的。