【问题标题】:ServiceStack.UseCases self hosting failureServiceStack.UseCases 自托管失败
【发布时间】:2014-09-26 00:35:28
【问题描述】:

我正在尝试使用 github ServiceStack.UseCases/ImageResizer 项目,并使其自托管。我认为这真的很容易,所以我引用了这个:https://github.com/ServiceStack/ServiceStack/wiki/Self-hosting 但 AppSelfHostBase 在项目中是未定义的。然后我尝试了 AppHostHttpListenerBase,这让我至少可以希望设置自己的主机:

public class AppHost : AppHostHttpListenerBase  
{
    public AppHost() : base("Image Resizer", typeof(AppHost).Assembly) {}
    public override void Configure(Container container) {}
}

public class Global : System.Web.HttpApplication
{
    protected void Application_Start(object sender, EventArgs e)
    {
        AppHost appHost = new AppHost();
        appHost.Init();
        appHost.Start("http://*:1301/");
    }
}

然后我用单声道将项目转移到我的 CentOS 机器上。在 monodevelop 我能够构建和运行,但它在运行时失败。看来它仍然认为它是一个 Mvc 或 Asp.Net 项目。

除了这个尝试之外,我还有一个正在运行的自托管 ServiceStack 项目,但它不是这个 ImageResizer,并且所有试图让我现有的项目包含新项目的尝试也都失败了。

我还尝试将作为正在运行的自托管项目的一部分的代码包含到新项目中,但是符号未定义。基本符号,如“ServiceStackHost”。如果我开始尝试使用 Nuget 并执行更多“安装包”,我可以解决这个符号问题,但只会导致其他曾经被解析的符号不再起作用。我并不完全了解 Nuget。任何关于前进道路的想法将不胜感激。

【问题讨论】:

    标签: c# asp.net asp.net-mvc mono servicestack


    【解决方案1】:

    ServiceStackHostAppSelfHostBaseServiceStack v4 中添加的新类。

    您可以使用AppHostHttpListenerBase,它是ServiceStack v3 中的自托管类。您正在查看v4 文档,这里是docs for ServiceStack v3 Self-Hosting 位于:

    https://github.com/ServiceStackV3/ServiceStackV3/wiki/Self-hosting

    自托管应用程序通常在 控制台应用程序 中创建,因为您的示例试图在 ASP.NET Web 应用程序中运行自托管应用程序。如果你想在 ASP.NET 应用程序中运行 ServiceStack,你应该继承 AppHostBase,否则如果你想运行自托管应用程序,创建一个新的 Console Application 并从 AppHostHttpListenerBase 继承。

    【讨论】:

    • 令人困惑的部分是从 Nuget 下载的项目版本与 Github 中的项目版本。我为 ServiceStack.UseCases/ImageResizer 克隆了 Github 中的内容,我只是构建了它,没有进行任何更改。我想我的错误是认为最新的 ServiceStack.UseCases 是更高版本。因此,如果我找到 ServiceStack 4.0 或更高版本的文档,我不能指望它可以与使用 ServiceStack 构建的项目的全新 Github 下载一起使用。 - 这就是它真正归结为。 Github 有各种各样的版本,并不总是最新的。Thx。
    • @tradetree 所有ServiceStack AppsLive Demos 已升级到v4。你可以找到一些v3 Examples in v3 branches
    猜你喜欢
    • 2018-07-16
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 2020-01-14
    • 2019-01-25
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多