如何在同一个 global.asax 中托管 WCF REST 服务和 WCF 数据服务

2024-03-11

我有一个 WCF REST Web 服务,通过 global.asax 中的服务路由托管,如下所示;

protected override void RegisterRoutes(System.Web.Routing.RouteCollection routeTable)
    {
        routeTable.Add(new ServiceRoute("", new WebServiceHostFactory(),
                       typeof(UserService)));
    }

我想知道是否可以在同一应用程序中托管另一个 Web 服务(即 WCF 数据服务)。

protected override void RegisterRoutes(System.Web.Routing.RouteCollection routeTable)
    {
        routeTable.Add(new ServiceRoute("", new WebServiceHostFactory(),
                       typeof(UserService)));
        routeTable.Add(new ServiceRoute("OData", new DataServiceHostFactory(),
                       typeof(UserDataService)));
    }

尝试在我的浏览器中导航到http://本地主机:端口/ http://localhost:port/在导航到时调出标准 REST 服务http://localhost:端口/OData http://localhost:port/OData弹出“未找到端点页面”。

原因是我需要保留 REST 服务中的遗留代码,但也想通过数据服务公开一些纯数据。


事实证明这非常简单,我完全忽略了显而易见的事情。

当您托管多个服务路由时,您无法像在单个路由上那样在任何路由上拥有默认/空路由前缀。请注意,这就是我在上面的 UserService 路线问题中所得到的内容。

因此,为两个服务路由提供路由前缀允许这两个服务托管在同一个 global.asax 中。

提供代码以确保完整性...

protected override void RegisterRoutes(System.Web.Routing.RouteCollection routeTable)
{
    routeTable.Add(new ServiceRoute("Rest", new WebServiceHostFactory(),
                   typeof(UserService)));
    routeTable.Add(new ServiceRoute("OData", new DataServiceHostFactory(),
                   typeof(UserDataService)));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在同一个 global.asax 中托管 WCF REST 服务和 WCF 数据服务 的相关文章

  • WCF - 防止未经授权的客户端

    我有一个 WCF 服务 我只希望我的应用程序能够访问该服务 我的应用程序由使用 JQuery 的传统 Web 界面和 Silverlight 界面组成 这些界面都不需要用户登录 有没有办法告诉 WCF 服务仅允许来自我的域的客户端 如果是这
  • 泽西岛宁静服务通信(IncompleteClassChangeError)

    我在 JDK 1 6 http 服务器上创建了一个基于 jersey 1 12 的 Restful 服务外观 当我在 Eclipse 中启动应用程序时 一切正常 我可以毫无问题地与外观进行通信 但是当我使用启动脚本通过控制台启动应用程序时
  • 多个 WCF 服务实现相同的服务契约接口

    多个wcf服务是否可以实现同一个服务契约接口 我想要做的是允许测试服务与真实服务互换 并指定在配置文件中使用哪个服务 例如 ServiceContract public interface IUselessService Operation
  • REST api 可以通过两个 HTTP 方法公开吗?

    问题是我们有一个复杂的搜索 api 查询字符串 并且希望让用户可以方便地使用 body 所以我们希望同时允许 GET 和 POST 或 PUT 我知道 对于搜索是否为只读操作存在争论 并且根据 REST 标准 它应该只能是 GET 据我了解
  • 使用 C++ REST SDK 的 Http_client post 请求(卡萨布兰卡)

    我正在尝试使用 C REST SDK Casablanca 库执行 POST HTTP 请求 但我没有成功 我也找不到任何最近 工作片段 有谁能够帮助我 通过以下代码 我获得了运行时网络 json json exception说 不是字符串
  • C# 判断远程桌面登录用户的计算机名

    我已经断断续续地研究了几周时间 研究如何确定通过远程桌面登录的用户的计算机名称 我有一个用户在终端服务器环境上运行的应用程序 我想捕获并存储他们用来连接到终端服务器的计算机的名称 到目前为止 我还没有找到代码或创建自己的代码来做到这一点 我
  • 如何在没有 ServiceHost 类的情况下使用 WCF 创建简单的 Web 服务器?

    我已经开始学习 WCF 并希望通过直接使用通道堆栈创建一个简单的 Web 服务器来了解其内部结构 我在网络上找到了很多理论 但我希望看到一个接收和响应 httprequest 的工作示例代码 我可以使用任何浏览器进行测试 我希望能够通过组装
  • 为什么我会从 WSDL 调用中得到 System.InvalidOperationException,但不会从对另一个服务的同一调用中得到 System.InvalidOperationException?

    我创建了服务来获取各个客户的国家 地区详细信息 但是在托管该服务时我遇到了此异常 我正在使用基本的 http 绑定 An ExceptionDetail likely created by IncludeExceptionDetailInF
  • React + Redux 和 REST API?

    我在 Node 中构建了一个简单的 CRUD 应用程序 并已在 Express 中完成了其余 API 的创建 我现在正在寻求添加前端功能 并希望使用 React Redux 作为学习练习 然而 似乎所有围绕此的教程都直接使用 Redux 访
  • Spring boot - 嵌入式 Tomcat - 连接器定制器 - 无法添加 parseBodyMethods 属性

    最初的问题是当我使用 DELETE 方法发送http请求时 正文部分无法发送到服务器 经过谷歌搜索后 我发现本文 https stackoverflow com questions 41205062 requestbody not acce
  • 使用 REST 协议和 JSON 数据格式测试 Web 服务的最佳工具是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我是使用 JSON 数据格式测试 REST Web 服务的新手 我尝试了SOUPUI 但不幸的是不支持
  • 在 WCF 中通过 net.pipe 运行多个服务

    我正在构建一个分布式应用程序 需要 6 种不同的服务 我必须使用 Visual Studio 2008 在我的 XP 笔记本电脑上演示该应用程序 是否可以同时在 localhost 上运行多个服务 所有服务都使用 net pipe 例如 n
  • 使用 POST 请求向 Jira API 发送 JSON 时出现 System.Net.WebException

    好吧 伙计们 我已经为这个问题苦苦挣扎了一天左右 但没有明确的解决方案 我将从例外开始 The remote server returned an error NotFound at System Net Browser AsyncHelp
  • testcafe是否支持rest api的测试

    当您尝试直接测试其余 api url 时 测试会在 testcafe 浏览器中挂起 我正在尝试使用请求挂钩针对我的其余 API 端点运行测试 但是当我从命令行运行测试时 浏览器会打开 API 端点并加载它并挂起 测试没有通过或失败并且挂起
  • WCF 4.0 REST 上传 MS-Excel 文件

    我正在尝试通过 WCF REST 服务上传 MS Excel 文件 我使用了下面帖子中给出的解决方案 RESTful WCF服务图片上传问题 https stackoverflow com questions 664712 restful
  • 泽西宁静例外

    我面对的是泽西岛 2 7 这是我的服务 package edu srv rest import javax ws rs GET import javax ws rs POST import javax ws rs Path import j
  • RESTful API:我应该在哪里编码我的工作流程?

    我正在开发一个 RESTful API 这是我的第一个 API 也是我的第一个真正大型的编码项目 因此 我仍在学习很多关于建筑等方面的知识 目前 我的 api 设置分为以下几层 HTTP层 资源层 领域模型 业务逻辑层 数据访问 存储层 持
  • Flask Restful API url

    我正在使用 Flask RESTful http flask restful readthedocs org en latest index html http flask restful readthedocs org en latest
  • .Equals 上的 C# 泛型方法中的意外行为

    为什么 Equals 方法返回与泛型方法不同的结果 我认为这里有一些我不明白的自动拳击 下面是使用 net 3 5 或 4 0 重现该行为的示例 static void Main string args TimeZoneInfo tzOne
  • 实体创建无用的 id 字段

    我有一个CrudRepository与两个实体 Problem 特征实体总是创建一个附加的id数据库中的字段但未选择正确的characteristic id要生成的字段JSON machine entity machine id name

随机推荐