2016-06-28 5 views
3

У меня возникли проблемы с тем, чтобы панель инструментов Hangfire (1.5.8) работала внутри виртуальной DirectI IIS. Все работает красиво в моей среде разработчиков, где мое приложение просто сопоставляется с корнем localhost. С другой стороны, наш бета-сервер использует виртуальные каталоги для разделения приложений и пулов приложений.Панель управления Hangfire.io, сопоставленная с виртуальным каталогом IIS

Это сайт ASP.Net MVC с использованием Hangfire с классом запуска OWIN. Он развертывается до http://beta-server/app-name/. Когда я пытаюсь получить доступ к http://beta-server/app-name/hangfire или http//beta-server/hangfire, я получаю 404 от IIS.

Для устранения неполадок мой 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(); 

    } 
    } 

Кто-нибудь есть рабочая реализация, которая развертывается в виртуальном каталоге? Существуют ли какие-либо средства администрирования/управления промежуточным программным обеспечением OWIN, которые я могу использовать, чтобы понять, какой URL-адрес регистрируется в IIS?

ответ

1

я в конечном итоге исправить эту проблему, просто добавив HttpHandler раздел в web.config.

<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" /> 

Надеюсь, это поможет.

Martin