2015-11-02 4 views
0

Я пытаюсь использовать автономное консольное приложение OWIN/Katana с моим универсальным обработчиком ASHX, но просто не могу заставить его работать. Это даже поддерживается? Я это зарегистрированный в app.config с путем MyHandler.axd, как я хотел бы сделать для приложения ASP.NET (и где он работает с этой эквивалентной установкой):OWIN/Katana selfhost generic handler (ashx) не вызывается

<system.webServer> 
    <handlers> 
     <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
     <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> 
     <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> 
     <add name="MyHandler" path="MyHandler.axd" verb="*" type="My.AssemblyName.Handlers.MyAsyncHandler, My.AssemblyName, Culture=neutral" /> 
    </handlers> 
</system.webServer> 

Реализация обработчика (который не вызывается):

namespace My.AssemblyName.Handlers 
{ 
    public class MyAsyncHandler : HttpTaskAsyncHandler 
    { 
     public override async Task ProcessRequestAsync(HttpContext context) 
     { 
      // code that is not hit 
     } 
    } 
} 

Мой Startup класс реализуется следующим образом:

public class Startup 
{ 
    public void Configuration(IAppBuilder appBuilder) 
    { 
     HttpConfiguration config = new HttpConfiguration(); 
     config.Routes.IgnoreRoute("MyHandler.axd", "{resource}.axd/{*pathInfo}"); 
     config.Routes.IgnoreRoute("MyHandler.ashx", "{resource}.ashx/{*pathInfo}"); 
     config.Routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{id}", 
      defaults: new {id = RouteParameter.Optional} 
      ); 

     appBuilder.UseWebApi(config); 
    } 
} 

И приложение вызывается с

using (WebApp.Start<Startup>(url: baseAddress)) 
{ 
    Console.ReadLine(); 
} 

Это мои установленные NuGet пакеты:

  • Microsoft.AspNet.WebApi.Client
  • Microsoft.AspNet.WebApi.Core
  • Microsoft.AspNet.WebApi.Owin
  • Microsoft .AspNet.WebApi.OwinSelfHost
  • Microsoft.Owin
  • Microsoft.Owin.Host.HttpListener
  • Microsoft.Owin.Host.SystemWeb Microsoft.Owin.Hosting
  • Примечание Кроме того, что мой обработчик HttpTaskAsyncHandler, поэтому я также ссылки System.Web.dll

EDIT: Я вижу, обработчики настроены here with Nancy для хоста ASP.NET (Microsoft.Owin.Host.SystemWeb). Как это возможно?

ответ

1

Нет, нет поддержки для запуска каких-либо компонентов System.Web в Katana selfhost. Только привязанные к WebApi, SignalR и другие совместимые с OWIN фреймворки поддерживаются самим Katana.

+0

Да, подумал. На самом деле это действительно IIS. Благодаря! –

 Смежные вопросы

  • Нет связанных вопросов^_^