Sellec
@Sellec
Кодер

Что заменило System.Web в Katana при редактировании View?

В привычном ASP.NET MVC при редактировании представлений в VisualStudio используется MvcWebRazorHostFactory.
При открытии представления в студии подгружается System.Web.WebPages.Razor.dll и фабрика WebRazorHostFactory в методе CreateFactory(string typeName) ищет фабрику представлений.
public class WebRazorHostFactory
    {
...
        internal static Func<string, Type> TypeFactory = DefaultTypeFactory;
...
        private static Func<WebRazorHostFactory> CreateFactory(string typeName)
        {
            Type factoryType = TypeFactory(typeName);
            if (factoryType == null)
            {
                throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture,
                                                                  RazorWebResources.Could_Not_Locate_FactoryType,
                                                                  typeName));
            }
            return Expression.Lambda<Func<WebRazorHostFactory>>(Expression.New(factoryType))
                .Compile();
        }
...
        private static Type DefaultTypeFactory(string typeName)
        {
            return BuildManager.GetType(typeName, false, false);
        }

    }

Как видно, DefaultTypeFactory обращается к BuildManager.GetType, являющемуся частью System.Web.
Если Katana является реализацией открытого OWIN, то что предусмотрено для работы с представлениями именно в Katana? Можно ли уже избавиться от зависимости с System.Web?
  • Вопрос задан
  • 46 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы