2017-04-13 42 views
0

我已經使用SignalR Core創建了一個簡單的Web應用並將其部署到Azure中,並啓用了用於應用服務的Websockets。部署到Azure的SignalR Core應用無法通過https

但在那之後,當我嘗試使用https訪問://返回HTTP錯誤500

任何想法有什麼不好?我是否需要在設置中設置其他任何內容以使其通過https工作?

+0

''我是否需要在設置中設置其他設置以使其通過https工作?''它是否可以通過http工作? –

回答

0

,當我嘗試使用https訪問://返回HTTP錯誤500

請確保您的SignalR的應用程序可以將其發佈到Azure的網站之前,沒有任何錯誤運行。我有一個適用於本地和Azure的示例應用程序,請參閱它。

Project.json

{ 
    "dependencies": { 
    "Gray.Microsoft.AspNetCore.SignalR.Server": "0.2.0-alpha1", 
    "Microsoft.AspNetCore.WebSockets": "1.0.1", 
    "Microsoft.AspNetCore.Diagnostics": "1.0.0", 
    "Microsoft.AspNetCore.Mvc": "1.0.1", 
    "Microsoft.AspNetCore.Razor.Tools": { 
     "version": "1.0.0-preview2-final", 
     "type": "build" 
    }, 
    "Microsoft.AspNetCore.Routing": "1.0.1", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1", 
    "Microsoft.AspNetCore.StaticFiles": "1.0.0", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0", 
    "Microsoft.Extensions.Logging": "1.1.1", 
    "Microsoft.Extensions.Logging.Console": "1.1.1", 
    "Microsoft.Extensions.Logging.Debug": "1.1.1", 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", 
    "Microsoft.NETCore.App": { 
     "version": "1.0.1", 
     "type": "platform" 
    }, 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0", 
    "Microsoft.AspNet.SignalR.Client": "2.2.1" 
    }, 

    "tools": { 
    "BundlerMinifier.Core": "2.0.238", 
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final", 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" 
    }, 

    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": [ 
     "dotnet5.6", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "buildOptions": { 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true 
    }, 

    "runtimeOptions": { 
    "configProperties": { 
     "System.GC.Server": true 
    } 
    }, 

    "publishOptions": { 
    "include": [ 
     "wwwroot", 
     "**/*.cshtml", 
     "appsettings.json", 
     "web.config" 
    ] 
    }, 

    "scripts": { 
    "prepublish": [ "bower install", "dotnet bundle" ], 
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] 
    } 
} 

啓動類

public void ConfigureServices(IServiceCollection services) 
{ 
    // Add framework services. 
    services.AddMvc(); 
    services.AddSignalR(options=> { 
     options.Hubs.EnableDetailedErrors = true; 
    }); 
} 

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 
{ 
    loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
    loggerFactory.AddDebug(); 

    if (env.IsDevelopment()) 
    { 
     app.UseDeveloperExceptionPage(); 
     app.UseBrowserLink(); 
    } 
    else 
    { 
     app.UseExceptionHandler("/Home/Error"); 
    } 

    app.UseStaticFiles(); 
    app.UseWebSockets(); 
    app.UseSignalR(); 

    app.UseMvc(routes => 
    { 
     routes.MapRoute(
      name: "default", 
      template: "{controller=Home}/{action=Index}/{id?}"); 
    }); 
} 

網站聊天頁面

enter image description here

此外,這篇文章是關於「Getting started with SignalR Core」,請參閱它。

+0

謝謝你的回答。它在本地工作,在Azure中切換websocket之前,它在Azure中工作。可能我需要更多地玩弄更多的細節。 – Chiko

+0

''它在本地工作,它在Azure中切換websocket之前在Azure中工作請嘗試將您的應用程序發佈到新的Azure網站並測試它是否可用。 –

+0

謝謝,這是我的錯,很少有未解決的錯誤 – Chiko

相關問題