Я использую Нэнси 0.14.1.0 с представлением Razor. Все идет хорошо, пока я работаю с внутренним веб-сервером в VS 2010. Теперь я развернул материал на своем веб-сервере с IIS 6. Маршрут
Get["/api/v1/admin/clients"] = parameters => {
return View["Admin/view", new DataAccessLayer(Context).admin_get_clients()];
};
который возвращает список клиентов (здесь не имеет значения).
Структура каталогов на сервере
bin Content Shared |--- _Layout.cshtml Views |--- Admin |--- view.cshtml
Исключение, которое я ловлю, это
Nancy.ViewEngines.ViewNotFoundException: Unable to locate view 'Admin/view' Currently available view engine extensions: sshtml,html,htm Locations inspected: ,,,,views/api/Admin/view,api/Admin/view,views/Admin/view,Admin/view Root path: C:\Inetpub\Websites\Test\api\
Что меня немного беспокоит, так это запись «доступные расширения механизма просмотра»: здесь мне не хватает cshtml... хотя я думаю, что мой web.config содержит правильную запись:
<compilation debug="true" targetFramework="4.0">
<buildProviders>
<add extension=".cshtml" type="Nancy.ViewEngines.Razor.BuildProviders.NancyCSharpRazorBuildProvider, Nancy.ViewEngines.Razor.BuildProviders" />
<add extension=".vbhtml" type="Nancy.ViewEngines.Razor.BuildProviders.NancyVisualBasicRazorBuildProvider, Nancy.ViewEngines.Razor.BuildProviders" />
</buildProviders>
</compilation>
Модуль Нэнси позади работает нормально: я добавил маршрут
Get["/api/v1/admin/clients/{id}"] = parameters => {
return "Hello";
};
и получить "Привет"...
Любые подсказки?