gpt4 book ai didi

c# - 如何将参数传递给我自己的 Startup 类?

转载 作者:IT王子 更新时间:2023-10-29 03:52:43 25 4
gpt4 key购买 nike

我正在尝试使用 OWIN 开发 Web API 自托管应用程序。在我自己的 XyzStartup 类中,我需要一个外部参数:contentFolderPath。

但是,我没有找到一种方法来传递这个论点。下面是我的代码:

var contentFolderPath = this.TextBox.Text; // user input

var startOptions = new StartOptions();
using(WebApp.Start<XyzStartup>(startOptions)){

}

我的创业公司

public class XyzStartup
{
XyzStartup(string contentFolderPath) { ... }
}

我注意到有一个 StartOption 类,但不知道如何使用它。我可以在我的 XyzStartup 类中使用它吗?

提前致谢!


我终于找到了一种方法来做到这一点:

var startOptions = new StartOptions();
startOptions.Urls.Add('..some url ..');

WebApp.Start(startOptions, (appBuilder)=>{
new XyzStartup(contentFolderPath).Configuration(appBuilder);
}

最佳答案

如果你想给StartUp类传递参数,你可以使用Action<IAppBuilder>在 WebApp.Start 中,就像评论中提到的 Cillié Malan,而不是使用 Type 参数启动(WebApp.Start<T>)

这是自托管的具体示例:

object someThingYouWantToAccess;
var server = WebApp.Start("http://localhost:8080/", (appBuilder) =>
{
// You can access someThingYouWantToAccess here

// Configure Web API for self-host.
HttpConfiguration config = new HttpConfiguration();
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
appBuilder.UseWebApi(config);
});

关于c# - 如何将参数传递给我自己的 Startup 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23258282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com