Jayrock:未导出 Web 方法
Posted
技术标签:
【中文标题】Jayrock:未导出 Web 方法【英文标题】:Jayrock: web methods not exported 【发布时间】:2011-11-16 15:41:25 【问题描述】:我试图找出我在使用简单的 Jayrock JSON-RPC 服务时做错了什么。
基本上,我正在为 .NET WCF Web 服务编写 JSON 代理,以便 iPhone 可以使用它。 SOAP 服务接口正在工作,所以我只是在我的 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】:应该使用class属性:
[JsonRpcService("Handler")]
public class Handler : JsonRpcHandler, IRequiresSessionState
【讨论】:
以上是关于Jayrock:未导出 Web 方法的主要内容,如果未能解决你的问题,请参考以下文章
使用 swift 将导出的方法值作为未定义来反应本机本机模块?
如果我有符号,如何在 DLL 中找到参数签名并调用未导出的方法?
为啥 Jayrock(.NET JSON-RPC 框架)不喜欢我的请求?