2011-01-21 70 views
4

我在评论一个使用了微软模式和实践Unity容器的项目。Microsoft Unity容器的性能

有一个包含40个注册类型的容器,为每个Web服务调用创建一个容器实例。

我很纳闷:

  • 是否有性能问题,由于注册这么多类型?
  • 统一容器可以在Web服务调用之间共享吗?

Web服务托管在IIS中。

+1

你在什么类型的应用程序托管你的web服务?在Windows应用程序和Web应用程序中,您应该能够在应用程序上编写容器开始 – 2011-01-21 09:09:39

+0

@Milkael谢谢我更新了问题 – 2011-01-21 09:13:01

回答

7

请在Application_Start期间创建容器并注册所有类型。我们在一个大型项目(wcf和asp.net mvc)中已经完成了大约200多种类型,并且没有任何问题。

谢谢

+0

我是否正确理解,如果需要新容器实例的请求比我们需要调用' CreateChildContainer'为“主”实例并使用创建的? – Budda 2011-02-15 22:21:14

12

Unity在第一次解决问题时缓存了各种各样的东西。这将显着提高后续解析调用的性能。如果您对每个请求都创建了一个新的容器,那么您会抛出这些缓存。

在请求之间保留容器。