基础设施服务的含义

时间:2014-05-25 14:20:58

标签: c# wpf prism

我正在阅读如何:从msdn注册和使用服务。但我不明白基础设施服务的含义。那是什么?在文章中说:

  

•在Bootstrapper类中。在Bootstrapper类中,通常是   为应用程序启动或服务注册基础结构服务   由多个模块消耗。
•在模块类中。在   模块类,你通常注册一个消耗的服务   特定模块。但是,您不仅限于此;您可以   还注册其他模块消耗的服务。

你能给我一个简单的例子吗?

我的意思是我可以在bootstrapper中注册我的服务,该服务适用于任何其他模块吗?

1 个答案:

答案 0 :(得分:3)

Infrastucture Service是一项非常基础和通用的服务,几乎所有应用程序模块都使用它。 例如,你有一个应用程序,它需要一些模块使用和操作一些数据,以便使用这些数据更新UI。让我们将这些数据称为ApplicationData,这样您就可以编写一个名为ApplicationDataService的服务,该服务将具有所有模块更新UI所需的属性。

        public class ApplicationDataServices : IApplicationDataServices
        {
         public ApplicationDataServices()
            {
            }

            /// <summary>
            /// property for company name
           /// </summary>
           public List<string> CompanyNames { get; set; }

          public List<Color> Name{get;set;}
          ...
          ...
        }

在bootstrapper.cs

           protected override void ConfigureContainer()
           {
               base.ConfigureContainer();
                IApplicationDataServices applicationData = new ApplicationDataServices();
                applicationData.Initialize();
                Container.RegisterInstance(typeof(IApplicationDataServices), "ApplicationDataService", applicationData);
            }

首先注册这些服务然后您可以解决它们并在您的应用程序的任何模块中使用它们。