0

サービスを公開するように Orchard モジュールを構成し、それを有効にしました。以下に基づいて使用する URL を特定できません。

Routes.cs

namespace OrchardRestService
{
    using System.Collections.Generic;
    using System.ServiceModel.Activation;

    using Orchard.Mvc.Routes;
    using Orchard.Wcf;

    public class Routes : IRouteProvider
    {
        #region Implementation of IRouteProvider

        public IEnumerable<RouteDescriptor> GetRoutes()
        {
            return new[] {
                new RouteDescriptor {
                   Priority = 20,
                        Route = new ServiceRoute(
                                      "ContentService",
                                      new OrchardServiceHostFactory(),
                                      typeof(IContentService))
                }
            };
        }

        public void GetRoutes(ICollection<RouteDescriptor> routes)
        {
            foreach (var routeDescriptor in GetRoutes())
                routes.Add(routeDescriptor);
        }

        #endregion
    }
}

IContentService.cs:

namespace OrchardRestService
{
    using System.ServiceModel;

    using Orchard;

    [ServiceContract]
    public interface IContentService : IDependency
    {
        [OperationContract]
        ContentResult GetContent(string contentPath);
    }
}

ContentService.cs:

namespace OrchardRestService
{
    using System.Collections.Generic;
    using System.ServiceModel.Activation;

    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class ContentService : IContentService
    {
        public ContentResult GetContent(string contentPath)
        {
            var contentResult = new ContentResult
                { ContentValues = new Dictionary<string, string>(), Found = true, Path = contentPath };
            return contentResult;
        }
    }
}

私は Bertrand Le Roy がここここに書いたことに従おうとしましたが、何かが欠けているようです。

ちなみに私のコードは.Net 4なので、SVCファイルは必要ありません。

4

1 に答える 1

1

設計された目的ではなく、この方法で N2 を使用するためにフープを飛び越えていたので、締めくくります。

于 2012-10-05T12:26:59.670 に答える