Co, jeśli w ogóle, występują (lub inne) implikacje związane z tworzeniem nowego .NET ResourceManager
na każde żądanie z new ResourceManger(myResourceType.FullName, myResourceType.Assembly)
vs używanie "buforowanej instancji ResourceManager" w klasie wygenerowanej przez .Designer.cs (MyResourceType.ResourceManager
)?Czy należy używać statycznego bufora ResourceManager lub nowej instancji dla każdego żądania WWW? Czy to ma znaczenie?
Pracuję w kontekście aplikacji ASP.NET MVC 3 przy użyciu plików .resx.
Edycja: Interesują mnie implikacje poza kosztem przydzielania pamięci dla nowego obiektu.
Edycja: Patrząc w dokumentacji MSDN dla ResourceManager.ReleaseAllResources
, stwierdza, że:
This method will shrink the working set in a running application. Any future resource lookups on this ResourceManager will be as extensive as the first lookup, since it will need to search and load resources again.
Wydaje się to sugerować, że początkowe otwarcie zbioru zasobów jest kosztowne, co sugeruje mi, że tworząc nowy kierownik na każde żądanie może być drogi. Jednak dokumenty nie sugerują najlepszej praktyki w odniesieniu do czasu życia/zakresu menedżerów zasobów.
Czy mówisz, że przydzielanie obiektów jest TYLKO implikacją? Bardziej interesuje mnie coś takiego jak buforowanie plików zasobów ... – ChaseMedallion
Nie wiem o tym, ale będziesz musiał sprawdzić za pomocą liczników wydajności i profilerów – eyossi