我需要能够控制我的Url.Content("~")调用生成的链接,以便能够在链接的开头接受Slug.基本上托管URL将位于负载均衡器后面,可能位于根级别或更友好的URL后面...
例如:该站点配置为在http:// localhost:5001下运行,因此Url.Content("~/scripts/site.js")将生成"/scripts/site.js"
如果浏览器直接访问该URL或甚至是别名(如www.mysite.com),这都没问题.
但我希望o能够灵活地在www.mysite.com/Slug下托管该网站(想想证书等)......
现在我生成的链接转到www.mysite.com/scripts.site.js,它解析为404.
理想情况下,slug可以配置为自定义IUrlHelper,甚至是自定义LinkGenerator,但我似乎无法注入那些并覆盖当前的.
我试过了:
services.AddScoped<IUrlHelper>(x =>
{
var actionContext = x.GetService<IActionContextAccessor>().ActionContext;
return new MyCustomUrlHelper(actionContext);
});
Run Code Online (Sandbox Code Playgroud)
但无法注入.当我尝试调试时,我注意到如果你在控制器中调用相同的命令,你会得到一个实例Microsoft.AspNetCore.Mvc.Routing.EndpointRoutingUrlHelper.
有没有办法在不创建自定义帮助程序的情况下更改它(因为在某些区域会丢失并且几乎不可能找到被滥用的帮助程序)
我想从讲话中得到一美元。因此,例如,如果我问Alexa:
发送$ 100.51给Kroger。
(发音为一百美元和五十美分)我想100.51在适当的位置接收该值。
我尝试搜索,并按照以下方式定义了发声槽:
"slots": [
{
"name": "Amount",
"type": "AMAZON.NUMBER"
}
]
Run Code Online (Sandbox Code Playgroud)
但是在JSON输入上,我只会得到以下结果:
"slots": {
"Amount": {
"name": "Amount",
"value": "?"
}
}
Run Code Online (Sandbox Code Playgroud)
如何使Alexa接受货币值?