我正试图弄清楚我用简单的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"]
答案 0 :(得分:0)
应该使用class属性:
[JsonRpcService("Handler")]
public class Handler : JsonRpcHandler, IRequiresSessionState