我正在构建一个简单的ASP.NET MVC2.0 web应用程序。我想提供一个AtomPub终结点,以便可以从Windows Live Writer发布/更新内容。我最初使用一组自定义的ActionResults将AtomPub协议实现为控制器。直到我尝试让身份验证工作,当我意识到在我的基于表单身份验证的MVC应用程序中使用Basic或Digest身份验证(WLW所必需的)将是有问题的。
因此,现在我决定将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模板不起作用,我不知道该怎么做才能使它起作用。我很想听听你的建议。
顺便说一句,我正在努力使这个整体实现尽可能简单。因此,我并不打算引入对Entity Framework的依赖,以便可以使用WCF数据服务。我也不希望将WCF端点移动到单独的项目中,尽管如果我可以轻松地将其部署到W2k3/IIS6环境中,我愿意这样做。
发布于 2010-09-28 12:08:21
好了,我找到了这篇文章:RESTful WCF Services with No svc file and No config,它几乎让我开始工作。
https://stackoverflow.com/questions/3809291
复制相似问题