对于我的申请,我想匹配一个url与所有注册的路线,以看到有一个匹配。
当有匹配时,我想从匹配中提取路由值。
我在ASP.NET Core2.1中实现了这个功能,但我似乎无法像在.NET Core3中那样检索路由
工作ASP.NET核心2.1示例:
string url = "https://localhost/Area/Controller/Action";
// Try to match against the default route (but can be any other route)
Route defaultRoute = this._httpContextA
我试图找出这两个框架中URL匹配的不同之处
我知道以下对于ASP.Net Web是正确的,想知道ASP.NET内核也是这样吗?
用于在未显式指定HTTP方法的情况下派生HTTP方法的操作名称,例如
public int GetById(int Id);
这里没有指定HTTP方法,但是由于约定,它只能匹配到get请求
如果未指定HTTP方法,并且也不能从操作名称派生HTTP方法,则默认为POST
参数还参与匹配URL,如下所示
// GET / IEnumerable / GET public string[] Get() {返回新string[]{ "val
我有以下Api端点: [EnableQuery()]
[Route("rankingreport", Name = "GetRankingReport")]
public IQueryable<RefereeRankingReport> GetRankingReport()
{
var data = (from r in _context.RefereeRankings
join m in _context.Referees on r.RefereeI
我有一个ASP.NET Web。我正在尝试将字符串发送到端点。我的ASP.NET Web端点如下所示:
[HttpPost]
public async Task<IHttpActionResult> Test(string name)
{
int i = 0;
i = i + 1;
return Ok();
}
在Fiddler中,我执行来自作曲家的以下请求:
POST http://localhost:8089/api/MyApiController/test
如果删除"string“作为参数,则可以成功地执行API端点。当字符串名在那里时,我得到一个405错
在装有APICore2的Windows7Dev机器上,所有返回数据(而不是视图)的Asp.net特定路由都可以工作。
一位开发人员最近在他的新Windows10机器上安装了API。当我们在Postman或swagger中运行路由时,他只能让一个特定的GET路由工作(额外的花边新闻-所以这是唯一不调用EntityFramework的路由)。
所有其他路由都返回一个404 Not Found,就好像这些URL不存在一样。返回404的不是我们的代码,而是平台本身。
我们的代码都没有执行,因为404是由服务器返回的,所以也没有有用的日志记录。
我还在Win server 2016机器上部署和测试了它,
我有这样的端点:
GET /whoami
POST /login
POST /logout
POST /reset
...
much more
...
如何在每个端点前面加上"/api"?因此,您可以在以下位置获得它:
GET /api/whoami
POST /api/login
POST /api/logout
POST /api/reset
有没有可能编写某种中间件?
下午好,
在使用属性路由和ASP.NET核心路由中间件的web中,我遇到了一些端点路由问题。
我有一个API控制器,其外观大致如下所示:
public class UsersController : ControllerBase
{
[HttpGet]
[Route("v1/users/{id}", Name = nameof(GetUser), Order = 1)]
public async Task<ActionResult> GetUser([FromQuery(Name = "id")] string userGui
我正在尝试在一个新的ASP.NET Core2.2MVC项目中使用RouteDataRequestCultureProvider。 我已经阅读了微软在Routing in ASP.NET Core上的文档,以理解2.2中引入的更改,但我不明白为什么“文化”不被识别为URL生成的环境值。 我更新了Startup.cs中的ConfigureServices以包含以下设置: var supportedCultres = new[] { new CultureInfo("en"), new CultureInfo("fr") };
services.Configure
我需要建立项目,实现由供应商应用程序(将消耗它)预定义的REST API -有大约数千个REST资源与不同的HTTP动词定义的一些操作(POST,GET,PUT,DELETE等)。
因此,理想情况下,对于每个资源,我应该有一个类,如下所示:
public class SomethingController
{
public Something Post(string name, DateTime time)
{
// ...
}
public int PostStrange(string text)
{
// ...
}
public Som
在WebAPI2中,您过去可以通过以下中间件设置OAuth授权服务器来创建端点来发布令牌:
//Set up our auth server options.
var OAuthServerOptions = new OAuthAuthorizationServerOptions()
{
AllowInsecureHttp = true,
TokenEndpointPath = new PathString("/token"),
AccessTokenExpi
是否可以在ASP.NET Core2.1Razor页面中刷新视图组件?
我发现在使用AJAX的ASP.NET MVC中,这是可能的--参见和的解决方案。但是ASP.NET核心呢?
我发现的一个解决方案基本上是让控制器返回View组件,然后使用AJAX进行刷新。
这是从借来的例子
~/HelloWorldViewComponent.cs
public class HelloWorldViewComponent : ViewComponent
{
public IViewComponentResult Invoke()
{
var model = new strin