Jayrock:未导出的Web方法

时间:2011-11-16 15:41:25

标签: c# .net-4.0 jayrock

我正试图弄清楚我用简单的Jayrock JSON-RPC服务做错了什么。

基本上,我正在为.NET WCF Web服务编写JSON代理,以便iPhone可以使用它。 SOAP服务insterface正在工作,所以我只是在我的Jayrock处理程序中实现一个服务实例并调用相应的方法。

不幸的是,尽管我的测试项目没有问题,但是当我使用实际应用程序时,我没有导出任何标记为JsonRpcMethod的Jayrock Web方法。我只看到3种默认方法。

我断开了所有其他方法,如果有一些干扰,我仍然没有看到任何东西。关于我可能做错什么的任何建议?

这是我的通用处理程序代码:

using System;
using System.Web;
using Jayrock.Json;
using Jayrock.JsonRpc;
using Jayrock.JsonRpc.Web;
using WimotiDTO.DataContract;

namespace WimotiWS
{
    /// <summary>
    ///  Summary description for JSONEndpoint
    /// This class implement a JSon proxy for the Wimoti web service
    /// </summary>
    public class JSONEndpoint : JsonRpcHandler
    {
        [JsonRpcMethod("Test")]
        string Test()
        {
            return "Yeeha!";
        }
    }
}

以下是页面:

<%@ WebHandler Language="C#" CodeBehind="JSONEndpoint.ashx.cs" Class="WimotiWS.JSONEndpoint"%>

最后,调用方法列表方法返回:

["system.listMethods","system.version","system.about"]

1 个答案:

答案 0 :(得分:0)

应该使用class属性:

[JsonRpcService("Handler")]
public class Handler : JsonRpcHandler, IRequiresSessionState