【问题标题】:Configuring a simple WCF Service Endpoint in a ASP.NET MVC 2.0在 ASP.NET MVC 2.0 中配置简单的 WCF 服务端点
【发布时间】:2010-09-28 02:33:43
【问题描述】:

我正在构建一个简单的 ASP.NET MVC 2.0 Web 应用程序。我想提供一个 AtomPub 端点,以便我可以从 Windows Live Writer 发布/更新内容。我最初沿着使用一组自定义 ActionResults 将 AtomPub 协议实现为控制器的路径。这一直有效,直到我尝试让身份验证工作,当我意识到让 Basic 或 Digest auth(WLW 必需)在我的基于 Forms-Auth 的 MVC 应用程序中工作时会出现问题。

所以,现在我决定将 AtomPub 逻辑移动到 MVC 应用程序中的 WCF 服务。我创建了一个名为 AtomPub.svc 的新 WCF 服务。我在 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 模板不起作用,我不知道该怎么做才能使其正常工作。我很想听听您的建议。

顺便说一句,我正在努力使整个实现尽可能简单。因此,我不想引入对实体框架的依赖,以便可以使用 WCF 数据服务。我也不希望将 WCF 端点移动到单独的项目中,但如果我可以轻松地将其部署到 W2k3/IIS6 环境,我愿意这样做。

【问题讨论】:

    标签: asp.net-mvc wcf asp.net-mvc-2 .net-4.0


    【解决方案1】:

    好的,我找到了这篇文章:RESTful WCF Services with No svc file and No config,它几乎让我振作起来。

    【讨论】:

      猜你喜欢
      • 2011-09-19
      • 1970-01-01
      • 2022-01-16
      • 2019-12-01
      • 2016-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多