我有一个Angular 5应用程序,我希望使用最新的Angular模板RC在ASP.net Core上使用Angular Universal .我已经按照文档操作并启动并运行了应用程序.问题是我也在使用Angular的i18n工具,它生成多个编译的应用程序,每个语言环境1个.我需要能够主持每一个https://myhost.com/{locale}/.
我知道我可以为每个区域设置启动ASP.net核心应用程序的实例,并在网络服务器中设置托管以使相应的路径路由到关联的应用程序,但这对我来说似乎过分了.
路由配置为:
// app is an instance of Microsoft.AspNetCore.Builder.IApplicationBuilder
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action=Index}/{id?}");
});
Run Code Online (Sandbox Code Playgroud)
SpaServices配置有:
app.UseSpa(spa =>
{
// To learn more about options for serving an Angular SPA from ASP.NET Core,
// see https://go.microsoft.com/fwlink/?linkid=864501
spa.Options.SourcePath = "ClientApp";
spa.UseSpaPrerendering(options =>
{
options.BootModulePath = $"{spa.Options.SourcePath}/dist-server/main.bundle.js";
options.BootModuleBuilder = env.IsDevelopment()
? new AngularCliBuilder(npmScript: "build:ssr:en")
: null;
options.ExcludeUrls = new[] { "/sockjs-node" };
options.SupplyData = (context, data) =>
{ …Run Code Online (Sandbox Code Playgroud) 我正在尝试新的asp.net 5和VSNET 2015 RC.
配置我的webapp:Microsoft.AspNet.Mvc 6.0.0-beta4
我对这种行为感到很困惑:如果我使用的话
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
...
app.UseMvc();
}
Run Code Online (Sandbox Code Playgroud)
一切正常.我通过http:// localhost:1234/api/values调用我的控制器 ,一切正常.
为了我的测试,如果我更改上面的代码片段
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
...
app.Map("/api", api => {
...
api.UseMvc();
});
}
Run Code Online (Sandbox Code Playgroud)
现在,每当我用上面的地址呼叫控制器时,应用程序就会重新启动404.
哪里我错了?
我试图在ASP.NET MVC 5中使用oauth与Google.
在谷歌的开发者控制台中,我提出了重定向uri:
www.mydomain.com/account/externallogincallback
Run Code Online (Sandbox Code Playgroud)
并认为这样做.但事实并非如此.
我放:
www.mydomain.com/signin-google
Run Code Online (Sandbox Code Playgroud)
它工作了!
我试图在我的项目中搜索字符串"signin-google",但无法在任何地方找到它.
有人能告诉我发生了什么事吗?为什么会这样?谢谢.