2010-11-16 3 views
1

Я оцениваю настройку системы REST с использованием WCF против использования MVC (который у меня есть). Я запускаю его, но хочу иметь возможность реплицировать некоторые функции, которые я получаю с помощью MVC.Можно ли установить операцию по умолчанию при настройке маршрута службы

То есть, мне нужно указать WCF-эквивалент «действия по умолчанию». Хотя сервисный маршрут имеет свойство по умолчанию, я не нашел никаких документов о том, что нужно установить здесь (предполагая, что он даже используется в WCF).

Следующим шагом, который я могу видеть, было бы создание моей собственной фабрики хостов-изготовителей и наличие настраиваемого атрибута, но это делает меня на один шаг далеко (потенциально в любом случае), поскольку я уже пользуюсь Autofac для DI-сервиса зависимостей.

Возможна ли операция «по договору» по умолчанию с помощью REST над WCF?

ответ

1

Создание нового проекта с помощью 4.0 шаблона REST включает в себя следующее:

[WebGet(UriTemplate = "")] 
public List<SampleItem> GetCollection() 
{ 
// TODO: Replace the current implementation to return a collection of SampleItem instances 
return new List<SampleItem>() { new SampleItem() { Id = 1, StringValue = "Hello" } }; 
} 

Экран/service1/справки затем перечисляет следующее:

Uri Method          Description 

GET Service at http://localhost:60888/Service1/ 

Так что 'действие' по умолчанию является то, что заданный пустым UriTemplate.

+0

Вы также хотите отключить справочную страницу WCF для службы -

0

Хорошо, я чувствую себя немного глупо, как шаблон URI в атрибуте WebGet делает то, что мне нужно, а именно:

[OperationContract] 
[WebGet(BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json, UriTemplate = "{id}")] 
User GetUser(String id); 

поделом мне для поздней ночи кодирования.

Смежные вопросы