Asp.Net 3.5 路由到 Web 服务?

2024-04-12

我一直在寻找一种路线http://www.example.com/WebService.asmx http://www.example.com/WebService.asmx to http://www.example.com/service/ http://www.example.com/service/仅使用 ASP.NET 3.5 路由框架,无需配置 IIS 服务器。

到目前为止,我已经完成了大多数教程告诉我的操作,添加了对路由程序集的引用,在 web.config 中配置了内容,并将其添加到了全局.asax:

protected void Application_Start(object sender, EventArgs e)
{
    RouteCollection routes = RouteTable.Routes;

    routes.Add(
        "WebService",
        new Route("service/{*Action}", new WebServiceRouteHandler())
    );
}

...创建了这个类:

public class WebServiceRouteHandler : IRouteHandler
{
    public IHttpHandler GetHttpHandler(RequestContext requestContext)
    {
        // What now?
    }
}

……问题就在那里,我不知道该怎么办。我读过的教程和指南使用页面路由,而不是 Web 服务。这可能吗?

Ps: 路由处理程序正在工作,我可以访问/服务/它抛出了未实现异常我离开在获取HttpHandler method.


只是想我会根据对我有用的 Markives 给出的答案,用更详细的解决方案来完善这个问题。

首先是路由处理程序类,它将 WebService 的虚拟目录作为其构造函数参数。

public class WebServiceRouteHandler : IRouteHandler
{
    private string _VirtualPath;

    public WebServiceRouteHandler(string virtualPath)
    {
        _VirtualPath = virtualPath;
    }

    public IHttpHandler GetHttpHandler(RequestContext requestContext)
    {
        return new WebServiceHandlerFactory().GetHandler(HttpContext.Current, 
            "*", 
            _VirtualPath, 
            HttpContext.Current.Server.MapPath(_VirtualPath));
    }
}

以及 Global.asax 的 Routey 位中此类的实际用法

routes.Add("SOAP",
    new Route("soap", new WebServiceRouteHandler("~/Services/SoapQuery.asmx")));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Asp.Net 3.5 路由到 Web 服务? 的相关文章

随机推荐

  • 如何将图例标题放在左侧?

    以下代码创建一个带有标题的图例 from pylab import plt plot 1 2 2 3 label sdfsdf legend title s s 位于图例的中心 我想知道如何将 s 放在左侧 最简单的选择可能是在标题后面添加
  • Hadoop 性能

    我安装了hadoop 1 0 0并尝试了字数统计示例 单节点集群 完成时间为 2 分 48 秒 然后我尝试了标准的 Linux 字数统计程序 该程序在同一组 180 kB 数据 上运行只需 10 毫秒 是我做错了什么 还是 Hadoop 非
  • 多个 CSS 伪类

    将多个伪类应用于选择器的正确 CSS 语法是什么 我想在列表中除最后一项之外的每一项之后插入 我正在使用以下CSS ul phone numbers li after content ul phone numbers li last chi
  • Oracle JDBC 和 Oracle CHAR 数据类型

    我在 Oracle JDBC 驱动程序的处理方面遇到了一个棘手的问题CHAR数据类型 让我们看一下这个简单的表格 create table x c char 4 insert into x c values a inserts a 所以当我
  • addEventListener,for(),索引。如何使用闭包? [复制]

    这个问题在这里已经有答案了 我有这个代码 var items this llistat getElementsByTagName a for var i 0 i lt items length i items i addEventListe
  • 如何使用MediaSession.setMediaButtonReceiver(PendingIntent)恢复播放

    当我的应用程序停止时单击耳机按钮时 我试图能够从我的应用程序开始音乐播放 我可以使用 MediaSession CallbackonMediaButtonEvent 或现已弃用的registerMediaButtonEventReceive
  • jQuery 未在引导模块中定义

    我想为我的网站使用 bootstrap 使用 node js 但我有以下错误 var www node modules bootstrap js transition js 59 jQuery ReferenceError jQuery 未
  • 在Android应用程序中集成视频文件作为应用程序背景

    我需要使用视频作为背景 首先 我将视频文件放在可绘制文件夹中 并称为背景LinearLayout在 main xml 中 但在运行该应用程序时 我只看到黑屏 然后我尝试使用VideoView并称其如下
  • Emacs - 调用时出错(服务器启动)

    我目前在 Windows Vista SP1 中使用 GNU Emacs 23 0 93 1 在我的 emacs 文件中 我调用 server start 这导致消息错误目录 emacs d server 不安全 有没有人见过这个并知道修复
  • 如何在c中将日期时间转换为unix时间戳?

    场景是 我使用 libexif 获取格式为 YYYY MM DD HH MM SS 的日期时间 为了最大限度地减少节省成本 我想将日期时间转换为unix时间戳或类似的值 只需要64位或32位 c 有什么明确的方法吗 你可以尝试组合使用str
  • .net core PGP加密解密

    上遇到错误void Encryption public void Encryption region PGP Encryption PgpEncryptionKeys encryptionKeys new PgpEncryptionKeys
  • 如何以人类可读的方式打开 Java .class 文件?

    我试图弄清楚 Java applet 类文件在幕后的作用 用记事本或文本板打开它只会显示一堆官样文章 有什么方法可以将其恢复为可读的格式 以便我可以尝试弄清楚它在做什么 环境 安装了 VS 2008 的 Windows jd gui htt
  • FFMPEG - 以特定时间间隔在视频上叠加多个视频

    我想以指定的时间间隔将多个视频叠加在单个视频上 尝试过不同的解决方案 但它不会像我一样工作 我使用下面的命令将视频叠加在视频上 String cmdWorking3 new String i yourRealPath i gifVideoF
  • 自动链接属性与实际链接不同的文本(setAutoLinkMask)

    例如 TextView tv TextView this findViewById R id tv tv setAutoLinkMask Linkify ALL tv setText visit website http www googl
  • 在 IIS7 上将多个域指向一个网站

    这与 SEO 没有任何关系 请不要发布任何有关 SEO 排名的内容 因为它不是这里的一个因素 我有2个网址 old websitename com 和 new websitename com 我需要在一定的时间内支持这两个 url 而不是在
  • 通过Python中的selenium驱动程序将图像导入谷歌表单

    我正在尝试将图像导入谷歌表单 我无法通过 xpath 将密钥传递给元素 看来这是一个隐藏的元素 我尝试执行脚本来取消隐藏它 但没有成功 也尝试过这个解决方案 如何使用 Selenium WebDriver python 访问隐藏的文件上传字
  • C++ 中的 Stringstream 解析单词和数字字符串

    我有这样的字符串 123加43次7 其中数字后面跟着字典中的单词 我知道我可以使用以下命令提取 int numbers gt gt 操作员 StringStream gt gt number 我可以拿到号码 然而 Stream 中仍然有该号
  • 将 JFrame 方向设置为从右到左!

    为了从右到左对齐我的 JFrame 我使用 setComponentOrientation ComponentOrientation RIGHT TO LEFT 但这仅当我使用 JFrame 的以下样式 装饰 时才有效 public cla
  • 如何使用 JaCoCo 忽略内部/嵌套类?

    我试图忽略一些生成的类 并且这些类被很好地忽略 但是 如果这些类具有内部类 则尽管父类被排除 但这些类仍然会被包含在内 这是我的配置
  • Asp.Net 3.5 路由到 Web 服务?

    我一直在寻找一种路线http www example com WebService asmx http www example com WebService asmx to http www example com service http