Настройка простой конечной точки службы WCF в ASP.NET MVC 2.0 - PullRequest
2 голосов
/ 28 сентября 2010

Я создаю простое веб-приложение ASP.NET MVC 2.0.Я бы хотел обслуживать конечную точку AtomPub, чтобы я мог публиковать / обновлять содержимое из Windows Live Writer.Первоначально я пошел по пути реализации протокола AtomPub в качестве контроллера с набором пользовательских ActionResults.Это работало до тех пор, пока я не попытался заставить аутентификацию работать, когда я понял, что заставить Basic или Digest auth (необходимые для WLW) работать в моем приложении MVC на основе Forms-Auth будет проблематично.решил переместить логику AtomPub в службу WCF в приложении MVC.Я создал новый сервис WCF под названием AtomPub.svc.Я добавил следующее в мой файл web.config:

<system.serviceModel>
  <behaviors>
    <serviceBehaviors>
      <behavior name="">
        <serviceMetadata httpGetEnabled="true" />
        <serviceDebug includeExceptionDetailInFaults="false" />
      </behavior>
    </serviceBehaviors>
  </behaviors>
</system.serviceModel>

И мой код AtomPub.svc.cs выглядит следующим образом:

namespace Web
{
    using System.ServiceModel;
    using System.ServiceModel.Web;

    [ServiceContract]
    public partial class AtomPub
    {
        [WebGet(UriTemplate = "?test={test}")]
        [OperationContract]
        public string DoWork(string test)
        {
            return test;
        }
    }
}

Я также добавил исключение маршрута висключить эту конечную точку из обработки маршрута MVC.

Теперь я абсолютный новичок в WCF, так что я уверен, что делаю много вещей неправильно.Когда я пишу это, корень конечной точки, кажется, работает, когда я получаю страницу службы AtomPub.Однако шаблон URL не работает, и я не знаю, что нужно сделать, чтобы он работал.Мне бы очень хотелось услышать ваши предложения.

Кстати, я стараюсь сделать эту общую реализацию максимально простой.Поэтому я не собираюсь вводить зависимость от Entity Framework, чтобы я мог использовать службы данных WCF.Я также предпочел бы не перемещать конечную точку WCF в отдельный проект, хотя я открыт для этого, если смогу легко развернуть ее в среде W2k3 / IIS6.

1 Ответ

1 голос
/ 28 сентября 2010

Хорошо, я нашел эту статью: Службы RESTful WCF без файла SVC и без конфигурации , и это в значительной степени помогло мне заработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...