2013-10-15 4 views
4

Следуя примеру кода в этом URL:Кураж не работает на самодостаточно ServiceStack Service

https://github.com/ServiceStack/ServiceStack/wiki/Self-hosting

я создал пустой решение, вставили код выше C# в «Program.cs» и побежал следующее NuGet команды, чтобы получить необходимые библиотеки и файлы код импортированы:

Install-Package ServiceStack 
Install-Package ServiceStack.api.Swagger 

служба работает нормально, чванство мета данные передаются правильно, но при попытке посетить /swagger-ui/index.html я получаю ошибку 'Обработчик не найден'.

Я поделился своим базовый пример кода с помощью раздаточной:

ServiceStackSelfhosted.zip (2,5 MB)

ServiceStackSelfhosted_stripped.zip (8 Кб, но потребности NuGet команды для запуска)

ответ

2

Файлы в Self-хостинге подается из исполняющего/bin/каталога выпуска.

Убедитесь, что вы установили Копировать в выходной каталог в Copy if Newer (или Copy Всегда) для всех файлов, которые вы хотели бы ServiceStack иметь доступ.

+0

Итак, в этом случае «Обработчик не найден» на самом деле означает «Файл не найден»? –

+0

@marfarma означает, что ничего не найдено, так как запрос был найден: например, маршрут, файл, пользовательский, catch-all, raw или fallback обработчик и т. Д. – mythz

+0

Я не смотрел код плагина Swagger. Я ожидал вызова «GetHandler», который вернул «NotFoundHttpHandler» и был немного сбит с толку. –

2

Помимо добавления плагина SwaggerFeature, мне также пришлось добавить RazorFeature.

После добавления RazorFeature я смог просмотреть пользовательский интерфейс Swagger.

public override void Configure(Container container) 
{ 
    //... 
    Plugins.Add(new RazorFormat()); 
    Plugins.Add(new SwaggerFeature()); 
    //... 
} 
Смежные вопросы