WebApi Route 返回 Not Found in Orchard Module

2023-12-20

我正在创建一个 Orchard 模块,我想在其中添加 WebApi 控制器。

我的模块.txt:

Name: ModuleName
AntiForgery: enabled
Author: The Orchard Team
Website: http://orchardproject.net
Version: 1.0
OrchardVersion: 1.0
Description: Description for the module
Features:
    ModuleName:
        Description: Description for feature ModuleName.

我添加了一个 ApiRoutes 类:

using Orchard.Mvc.Routes;
using Orchard.WebApi.Routes;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;

namespace ModuleName
{
    public class ModuleNameApiRoutes : IHttpRouteProvider
    {

        public void GetRoutes(ICollection<RouteDescriptor> routes)
        {
            foreach (var routeDescriptor in GetRoutes())
            {
                routes.Add(routeDescriptor);
            }
        }

        public IEnumerable<RouteDescriptor> GetRoutes()
        {
            return new[] {
                new HttpRouteDescriptor {
                    Name = "ModuleName",
                    Priority = 5,
                    RouteTemplate = "api/modulename/{controller}/{id}",
                    Defaults = new {
                        area = "ModuleName",
                        id = RouteParameter.Optional
                    }
                }
            };
        }
    }
}

然后我添加了一个 apicontroller:

using Newtonsoft.Json.Linq;
using Orchard;
using Orchard.Data;
using ModuleName.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;

namespace ModuleName.Controllers
{
    public class ConsumptionController : ApiController
    {
        public IOrchardServices Services { get; private set; }
        private readonly IRepository<Vessel_ConsumptionPartRecord> _repository;
        public ConsumptionController(IOrchardServices orchardServices,IRepository<Vessel_ConsumptionPartRecord> repository)
        {
            _repository = repository;
        }

        // GET: Home
       public HttpResponseMessage Get()
        {

            ...
        }


    }
}

我在本地主机上,主页网址是:

http://localhost:30321/OrchardLocal http://localhost:30321/OrchardLocal

当我去

http://localhost:30321/OrchardLocal/api/ModuleName/Conspiration http://localhost:30321/OrchardLocal/api/ModuleName/Consumption

我收到“未找到”页面。

任何人都可以透露一些信息吗?


您的 GET 方法没有参数 id。可能就是这样

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

WebApi Route 返回 Not Found in Orchard Module 的相关文章

  • 为什么我应该使用内联代码? [复制]

    这个问题在这里已经有答案了 我是一名 C C 开发人员 这里有几个始终困扰我的问题 常规 代码和内联代码之间有很大区别吗 主要区别是什么 内联代码只是宏的一种 形式 吗 选择内联代码时必须进行什么样的权衡 Thanks 表现 正如之前的答案
  • 为什么使用数组索引循环数组比指针访问慢?

    我正在读Kochan的书 Programming in C 在第 14 页的 指针和数组 部分中 264 他说 一般来说 索引数组的过程比执行索引过程花费更多的时间 访问指针内容的过程 其实这也是主要原因之一 为什么使用指针来访问数组的元素
  • C语言实现延时函数

    我想使用空循环实现延迟函数 但是完成一次循环所需的时间取决于编译器和机器 我希望我的程序自行确定时间并将程序延迟指定的时间 谁能给我任何想法如何做到这一点 注意 有一个名为delay 的函数可以将系统暂停指定的毫秒 是否可以在不使用此功能的
  • OpenCV SVM 给出奇怪的预测结果

    我对 OpenCV 和支持向量机都很陌生 我想使用 SVM 训练具有两个标签的数据集 然后预测给定集合的标签 我当前的集合包含大约 600 行 具有相等的类分布 1 为 300 行 1 为 300 行 包含 34 列 这是我当前用于设置 O
  • 从 Orchard 中的食谱创建别名

    我想从配方创建以下别名 这是如何实现的 我创建了此类来为 Orchard 添加命令 以便从命令行或配方创建新别名 using Orchard using Orchard Alias using Orchard Commands using
  • 为什么 fgets 接受 int 而不是 size_t?

    功能如strcpy malloc strlen 和其他各种接受他们的参数或返回值作为size t代替int or an unsigned int出于显而易见的原因 一些文件功能 例如fread and fwrite use size t以及
  • C 中的 '\0' 和 printf()

    在 C 入门课程中 我了解到在存储字符串时存储空字符 0在它的最后 但是如果我想打印一个字符串怎么办 printf hello 虽然我发现它并没有结束 0通过以下声明 printf d printf hello Output 5 但这似乎不
  • 带有嵌入 Flash 视频的 PDF 示例?

    有谁知道我在哪里可以查看嵌入 Flash 视频的 PDF 示例 我知道问这个问题很愚蠢 因为你会认为任何面向技术的用户都应该能够使用谷歌找到一个 但我真的找不到 我的另一个问题是 使用 C 中的 API 将 Flash 视频嵌入 PDF 文
  • C++ 并行任务的开销

    我有以下简单的功能 include
  • 有没有办法找到dll公开的所有函数

    我一直在寻找一种方法来获取映射到 dll 中函数名称的所有字符串 我的意思是您可以调用 GetProcAddress 的所有字符串 如果你对 dll 进行十六进制转储 符号 字符串 就在那里 但我认为必须有一个系统调用来获取这些名称 如果您
  • _MM_TRANSPOSE4_PS 在 GCC 中导致编译器错误?

    我第一次在 GCC 而不是 MSVC 中编译我的数学库 并经历了所有的小错误 我遇到了一个根本没有意义的错误 Line 284 error lvalue required as left operand of assignment 284号
  • 编译器消息“警告:格式‘%s’需要类型‘char *’,但参数 2 具有类型‘char (*)’”

    我正在尝试运行一个简单的 C 程序 但收到此错误 警告 格式 s 需要类型 char 但参数 2 的类型为 char 20 我在跑步Mac OS X v10 8 https en wikipedia org wiki OS X Mounta
  • 使用信号和槽更新指针

    我对 Qt 很陌生 请帮我解决这个问题 我正在使用线程在后台执行密集操作 同时我想更新 UI 所以我使用 SIGNALS 和 SLOTS 为了更新 UI 我发出一个信号并更新 UI 让我们考虑下面的示例代码 struct sample QS
  • 链接到ntdll.lib并调用ntdll.dll内部的函数

    我最近正在对私有 API 进行一些研究 我尝试调用诸如NtOpenFile在 ntdll dll 中LoadLibrary and GetProcAddress在运行时 幸运的是 它成功了 今天早上我在电脑上进行了文件搜索 发现ntdll
  • 使用“const cv::Mat &”、“cv::Mat &”、“cv::Mat”或“const cv::Mat”作为函数参数的区别?

    我已经彻底搜索过 但没有找到一个简单的答案 传递 opencv 矩阵 cv Mat 作为函数的参数 我们传递一个智能指针 我们对函数内部的输入矩阵所做的任何更改也会改变函数范围之外的矩阵 我读到 通过将矩阵作为 const 引用传递 它不会
  • 从 AuthorizeAttribute 继承的属性不起作用

    我目前正在尝试根据用户角色在新的 ASP MVC 5 应用程序中实现安全性 目标是防止用户在没有特定角色 或更高角色 的情况下访问某些控制器或控制器方法 根据到目前为止我所读到的问题 我创建了一个继承 AuthorizeAttribute
  • 快速将文本附加到文本框

    我有一个BackgroundWorker正在发布消息的线程 使用BeginInvoke在 GUI 中的文本框中 方法 write debug text 在文本框中显示文本使用AppendText并将文本写入Console 外观上是这样的Ba
  • 如何使用 .NET 捕获我的桌面视频?

    我想知道是否有任何方法可以使用 NET 捕获我的桌面的视频 截屏视频 我并不是在寻找截屏软件 而只是在寻找一种可以让我自己生成桌面视频的技术 我想过拍摄多个屏幕截图 但我不确定如何以编程方式生成带有图像序列的视频 有人有主意吗 Thanks
  • 打印任何类型的数组和列表的通用方法[重复]

    这个问题在这里已经有答案了 每当我调试一段涉及整数 双精度 字符串等数组或列表的代码时 有时我更喜欢打印它们 我为此所做的是为不同类型编写重载的 printArray printList 方法 for e g 我可能有这 3 种方法来打印各
  • 推断“x => { throw .. }”的 Lambda 与重载方法中的 Func 匹配吗?

    我不明白为什么 C 最终在以下 LINQPad 代码中执行不正确的扩展方法 void Main Actual Sync Action Expected Sync Action Run x gt x Dump Actual Async Tas

随机推荐

  • 在未连接的套接字上不允许执行此操作

    考虑以下 public void Connect clientObject new TcpClient IPEndPoint ipEnd new IPEndPoint IPAddress Parse 127 0 0 1 90 central
  • dimple.js 如何在不更改数据的情况下更改图表轴的标签?

    假设我们有示例的条形图http dimplejs org examples viewer html id bars vertical http dimplejs org examples viewer html id bars vertic
  • template.ParseGlob() 可以解析子目录中的模板吗?

    为了清理模板文件夹 我想将常用模板保存在子文件夹中 目前我有以下文件结构 main go templates index tpl Main template for the main page templates includes head
  • 翻译 WordPress 插件标题

    如何翻译 WordPress 插件标头 我已经使用以下方法翻译了插件中的所有字符串 and e 功能 po 文件 文本域 WordPress 加载语言文件的函数 load plugin textdomain mnbaa seo false
  • 为什么我的 As400 无法从新创建的成员别名中进行选择?

    我已经按照此描述设置了代码question https stackoverflow com questions 346512 sql query of multi member file on as400 创建别名和删除别名一样有效 对于我
  • 不使用reverse() 或[::-1] 反转字符串?

    我遇到了一个奇怪的 Codecademy 练习 它需要一个函数 该函数将字符串作为输入并以相反的顺序返回它 唯一的问题是你不能使用相反的方法或 stackoverflow 上的常见答案 1 显然 在现实的编程世界中 人们很可能会选择扩展切片
  • WinForm 应用程序中的 Microsoft 报表教程

    我在我的 WinForm 应用程序项目中使用 Microsoft Report 我对表达式 组 甚至过滤器和其他许多东西有一些问题 我正在寻找 Microsoft Report 的完整教程 但直到现在我还没有找到任何教程 可以你帮我找个教程
  • 静态变量初始化顺序

    C 保证编译单元 cpp 文件 中的变量按照声明的顺序进行初始化 对于编译单元的数量 这一规则分别适用于每个编译单元 我指的是类之外的静态变量 但是 变量初始化的顺序在不同的编译单元中是未定义的 我在哪里可以看到关于 gcc 和 MSVC
  • Log4cplus RollingFileAppender 是否异步

    我将为我们的应用程序添加 Log4cplus 我们的应用程序是用 C 编写的 并且是多线程的 我想使用 Log4Cplus RollingFileAppender 来实现同样的目的 我知道Log4Cplus源自Java Log4j 由于我不
  • 在集群内运行 kubectl

    我有一个 Kubernetes 1 10 集群已启动并正在运行 使用以下命令 我创建一个在集群内运行 bash 的容器 kubectl run tmp shell rm i tty image centos bin bash 我在正在运行的
  • 将对象转换为键值对象数组,例如 `{ name: "Apple", value: "0.6" }`

    我有一个这样的对象 const total Apple 0 6 Banana 0 6 Orange 1 Grapes 0 4 Pineapple 0 4 现在我想将其转换为键值对象数组 其中每个对象具有相同的两个属性集 name and v
  • gnuplot 中带有参数图的 for 循环

    我正在尝试在 gnuplot 4 6 中绘制多个参数曲线 在早期版本 4 4 中 命令 set para 为 a 1 10 a cos t a sin t 绘制 pi pi 参数模式和迭代之间的语法歧义是当前 gnuplot 版本中已记录的
  • 如何提取 vcxproj 中每个编译单元的编译参数?

    我正在尝试获取每个编译单元的编译参数 以便我可以创建 编译命令 json http clang llvm org docs JSONCompilationDatabase html 对于我的 vcxproj 它可以与 clang 的 lib
  • 如何在 Cython 中使用 128 位整数

    在我的 64 位计算机上long long类型有 64 位 print sizeof long long prints 8 我需要使用 128 位整数 幸运的是海湾合作委员会支持这些 https gcc gnu org onlinedocs
  • 如何读取 PDF 文本矩阵

    我正在编写一个程序来直接从我的程序创建 PDF 文件 我已经使用了 PDF 参考手册 并设法弄清楚除了一件事之外的所有内容 文本矩阵 它一定是我读过的最令人困惑的东西 谷歌搜索 重新阅读 重新谷歌搜索 重新阅读 但仍然不理解它 就在我以为我
  • 元刷新和重定向页面?

    我创建了一个带有 META 标记的网页 如下所示 问题是移动浏览器不支持此元标记 尽管它确实在每个浏览器上的网络中正确重定向 网页的完整代码在这里
  • 无法使用 000webhost 连接到数据库

    我正在尝试学习 php 但是当我尝试连接到 mysql 数据库时 出现此错误 我认为代码本身没有任何问题 但主机端可能有错误 我使用的是000webhost 警告 mysqli mysqli mysqli mysqli 28000 1045
  • 如何修复“参数列表太长”错误?

    我执行了这个命令 从文件夹 train 中的大量文件 大约 3000 个 中删除所有出现的 perl pi e s g Users Kian Desktop Acsegment espslabs train 但我得到了这个错误 bin ba
  • 单词表-uima ruta

    实际上我在Wordlist中使用了一些CITY名称和PUBLISHERS名称 根据我的理解 Wordlist将注释文档中任何列表项的所有出现 但是我发现一个问题 当我更改列表项的顺序时 出现的次数增加或减少列表中的文本 例如 Script
  • WebApi Route 返回 Not Found in Orchard Module

    我正在创建一个 Orchard 模块 我想在其中添加 WebApi 控制器 我的模块 txt Name ModuleName AntiForgery enabled Author The Orchard Team Website http