2016-06-28 6 views
3

IIS 가상 Directoy 내부에서 작동하도록 Hangfire (1.5.8) 대시 보드를 가져 오는 데 문제가 있습니다. 모든 것은 내 응용 프로그램이 단순히 localhost의 루트에 매핑되는 내 dev 환경에서 아름답게 작동합니다. 반면에 베타 서버는 가상 디렉터리를 사용하여 응용 프로그램 및 응용 프로그램 풀을 구분합니다.Hangfire.io IIS 가상 디렉터리에 매핑 된 대시 보드

OWIN Startup 클래스가있는 Hangfire를 사용하는 ASP.Net MVC 사이트입니다. 그것은 http://beta-server/app-name/에 배포됩니다. http://beta-server/app-name/hangfire 또는 http//beta-server/hangfire에 액세스하려고하면 IIS에서 404가 발생합니다.

이 문제를 해결하기 위해 내 IAuthenticationFilter는 단순히 true를 반환합니다. 여기

은 아주 기본적인, 내 Startup.cs입니다 :

public class Startup 
    { 
    public void Configuration(IAppBuilder app) 
    { 
     // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888 

     GlobalConfiguration.Configuration 
     .UseSqlServerStorage(new DetectsEnvironment().GetEnvironment()); 

     app.UseHangfireDashboard("/hangfire", new DashboardOptions 
     { 
     AuthorizationFilters = new[] {new AuthenticationFilter()} 
     }); 
     app.UseHangfireServer(); 

    } 
    } 

사람이 가상 디렉터리에 배포됩니다 작업 구현이 있습니까? IIS에서 등록 된 URL을 파헤 치는데 사용할 수있는 OWIN 미들웨어 관리/관리 도구가 있습니까?

답변

1

나는 Web.config의에서 섹션에 HttpHandler를 추가하여 간단하게이 문제를 해결 끝났다.

<system.webServer> 
<handlers> 
<add name="hangfireDashboard" path="hangfire" type="System.Web.DefaultHttpHandler" verb="*" /> 
</handlers> 
</system.webServer> 
0

나는 똑같은 문제가있었습니다. 필자의 경우, 이는 잘못된 구성 때문이었습니다. Startup 클래스는 호출되지 않았습니다. 따라서 다음을 설정 파일에 추가하십시오.

<add key="owin:appStartup" value="YourProject.YourNamespace.Startup, YourProject" /> 
<add key="owin:AutomaticAppStartup" value="true" /> 

희망이 있습니다.

마틴