Mono/XSP上的Microsoft.Owin.Host.SystemWeb

fri*_*ism 8 mono xsp system.web owin katana

我已经设法使用HttpListener主机在Mono上运行Katana/OWIN .

我现在正在尝试使用Microsoft.Owin.Host.SystemWebMono和XSP4.我正在使用此回购中找到的代码.它有一个Startup:

using Owin;

namespace KatanaSystemWebTest
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.UseDiagnosticsPage();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

web.config中,我们将Configuration()方法定义为启动应用程序的方法:

<appSettings>
    <add key="owin:AppStartup" value="KatanaSystemWebTest.Startup.Configuration, KatanaSystemWebTest" />
    <add key="owin:AutomaticAppStartup" value="true" />
    <add key="webpages:Enabled" value="false" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)

这在Visual Studio中调试时效果很好,但在Mono上没有.我猜它是某种不会被解雇的程序集加载钩子.有什么建议?

这是运行代码的应用程序:http://peaceful-forest-6785.herokuapp.com/

完整的源代码.

小智 0

我通过程序集属性告诉 XSP 这是 Startup 类和方法来使其工作:

\n\n
using Owin;\n\xef\xbb\xbfusing Microsoft.Owin; // <--- this is new\n\xef\xbb\xbf\n// this is new:\n\xef\xbb\xbf[assembly: OwinStartup (typeof (KatanaSystemWebTest.Startup), "Configuration")]\n\nnamespace KatanaSystemWebTest\n{\n    public class Startup\n    {\n        public void Configuration(IAppBuilder app)\n        {\n            app.UseDiagnosticsPage();\n        }\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我还在存储库中创建了一个包含此修复的拉取请求。

\n