asp.net-mvc - ASP.NET MVC 中的 XML-RPC

标签 asp.net-mvc

我知道有一个 .NET 库可以使用 XML-RPC - 但有人知道它是否可以在 ASP.NET MVC 环境中使用吗?

最佳答案

XML-RPC.NET可以与 ASP.NET MVC 一起使用。

为您的 XML-RPC 服务定义一个接口(interface),例如:

using CookComputing.XmlRpc;

public interface IStateName
{
  [XmlRpcMethod("examples.getStateName")]
  string GetStateName(int stateNumber);
}

实现服务:
using CookComputing.XmlRpc;

public class StateNameService : XmlRpcService, IStateName
{
  public string GetStateName(int stateNumber)
  {
    if (stateNumber < 1 || stateNumber > m_stateNames.Length)
      throw new XmlRpcFaultException(1, "Invalid state number");
    return m_stateNames[stateNumber - 1];
  }

  string[] m_stateNames
    = { "Alabama", "Alaska", "Arizona", "Arkansas",
        "California", "Colorado", "Connecticut", "Delaware", "Florida",
        "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", 
        "Kansas", "Kentucky", "Lousiana", "Maine", "Maryland", "Massachusetts",
        "Michigan", "Minnesota", "Mississipi", "Missouri", "Montana",
        "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", 
        "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma",
        "Oregon", "Pennsylviania", "Rhose Island", "South Carolina", 
        "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", 
        "Washington", "West Virginia", "Wisconsin", "Wyoming" };
}

实现自定义路由处理程序:
using System.Web;
using System.Web.Routing;

public class StateNameRouteHandler : IRouteHandler
{
  public IHttpHandler GetHttpHandler(RequestContext requestContext)
  {
    return new StateNameService();
  }
}

在 global.asax.cs 中注册自定义路由:
public static void RegisterRoutes(RouteCollection routes)
{
  routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

  routes.Add(new Route("api/statename", new StateNameRouteHandler()));

  // ...

}

通过将浏览器指向处理程序的 url 来检查一切是否正常,例如 http://localhost:33821/api/statename在这种情况下,从 Visual Studio 运行时。然后,您应该会看到自动生成的服务帮助页面。如果这没问题,那么将您的 XML-RPC 客户端指向该服务并开始进行调用。

关于asp.net-mvc - ASP.NET MVC 中的 XML-RPC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2031664/

相关文章:

html - 在 Html.ActionLink 中添加图像

asp.net - 具有绝对URL的ASP .Net MVC RedirectToAction

c# - ASP.NET MVC 应用程序从 SQLite 数据库读取数据

.net - Controller 中设置的模型属性未显示在 View 中

javascript - 动态更改应用程序中不同模块的java脚本和css文件

asp.net-mvc - 我可以在没有成员身份的情况下创建 ASP.NET 用户吗?

asp.net-mvc - 最佳实践 : Is it acceptable to use more than one repository in a MVC-Controller?

asp.net-mvc - 如何测试内容部分是否在 ASP.NET MVC 3 的 RenderSection 中提供

asp.net-mvc - 具有默认空选项的 ASP.NET MVC 下拉列表

c# - 从 Team Foundation Server 获取构建和变更集编号