如何设置owinstartup属性?

时间:2015-04-22 14:02:44

标签: f# owin

我在F#中阅读similar problem但似乎无法在此处应用答案。

我有非常简单的代码,它提供与链接问题相同的错误。 “这不是有效的常量表达式或自定义属性值。”

namespace MyNamespace
open Microsoft.Owin
open Owin

type Startup() = 
    member x.Foo() = ()
    member x.ConfigureAuth (app : IAppBuilder) = 
        //app.CreatePerOwinContext()
        ()
[<assembly: OwinStartup(typeof<StartUp>)>]
    do ()

是否可以让多个文件/类定义程序集属性? 如果没有,将assemblyinfo.fs文件移到项目底部是否可以(不脏)?

最大的问题,如何编译?

1 个答案:

答案 0 :(得分:2)

如果您添加member __.Configuration,则会自动检测到它:

namespace MyNamespace
open Microsoft.Owin
open Owin

type Startup() = 
    member x.Foo() = ()
    member x.ConfigureAuth (app : IAppBuilder) = 
        //app.CreatePerOwinContext()
        ()

    member x.Configuration (app: IAppBuilder) =
        app.Run(fun c -> c.Response.WriteAsync("Hello maslow!"))

此外,如果您指定参数,这也有效:

[<assembly: Microsoft.Owin.OwinStartup(startupType = typeof<Startup>)>]
do ()

我可能会坚持使用看起来有点不同的Startup.fs文件:

namespace MyNamespace
open Owin
open Microsoft.Owin

type Startup() = 
    let configureAuth (app: IAppBuilder) = 
        //app.CreatePerOwinContext()
        ()

    member __.Configuration (app: IAppBuilder) =
        configureAuth app
        app.Run(fun c -> c.Response.WriteAsync("Hello maslow!"))