2010-01-19 44 views
1

我正在构建一个Silverlight应用程序,该应用程序将采用将在整个应用程序(至少在许多服务中)中使用的单个InitParam。我们正在研究使用Prism构建应用程序,我想知道的是 - 我们如何实例化一个采用此参数并使其全局可用的服务?使用Prism将InitParams读入服务

回答

1

你问过如何读取InitParams或读完它后应该怎么做?要阅读它,可以在Application.Startup事件的StartupEventArgs中进行访问。

private void Application_Startup(object sender, StartupEventArgs e) { 
    string blah; 
    if (e.InitParams.TryGetValue("ID", out blah)) { 
     ... 
    } 
} 

一旦你把它弄出来,我想你可以将它作为一个命名字符串添加到你的容器。或者,您可以将StartupEventArgs粘贴到容器中,并根据需要进行访问。

+0

道歉模糊。我知道如何阅读InitParams,但我只是想知道在系统周围传播值不是紧密耦合的最佳方法。命名的字符串方法似乎可能是最好的。 – 2010-01-19 08:11:17

+0

好的,我用conatiner注册了一个config obejct的实例。比我想象的要简单得多。谢谢 – 2010-01-19 08:32:45

+0

还有其他需要考虑的是Silverlight 3及更高版本中的应用程序服务。查看http://wildermuth.com/2009/08/24/The_Application_Class_and_Application_Services_in_Silverlight_3了解更多信息。请特别注意IApplicationService和 Jordan 2010-01-19 23:01:15