【问题标题】:self-hosting OWIN in windows service, no configuration method.windows服务中自托管OWIN,无配置方法。
【发布时间】:2018-07-11 07:06:52
【问题描述】:

我正在尝试在 Windows 服务中自托管 OWIN。当我通过 Visual Studio 2017 进行调试时,它运行良好,但是当我尝试在发布版本中运行该服务时,出现以下错误。

未处理的异常:System.EntryPointNotFoundException:尝试加载应用程序时出现以下错误。 - 在类“., Vps.SysComm.Service, Version=3.12.0.0, Culture=neutral, PublicKeyToken=null”中找不到“配置”方法。 在 Microsoft.Owin.Hosting.Engine.HostingEngine.ResolveApp(StartContext 上下文) 在 Microsoft.Owin.Hosting.Engine.HostingEngine.Start(StartContext 上下文) 在 Microsoft.Owin.Hosting.Starter.DirectHostingStarter.Start(StartOptions 选项) 在 Microsoft.Owin.Hosting.Starter.HostingStarter.Start(StartOptions 选项) 在 Microsoft.Owin.Hosting.WebApp.StartImplementation(IServiceProvider 服务,StartOptions 选项) 在 Microsoft.Owin.Hosting.WebApp.Start(StartOptions 选项) 在 Microsoft.Owin.Hosting.WebApp.Start[TStartup](StartOptions 选项) 在 ..() 在 ..(String[] )

有趣的是 .用于启动类名称。

这是我的创业课程。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;
using Microsoft.Owin;
using Owin;

[assembly: OwinStartup(typeof(Vps.SysComm.Service.Startup))]
namespace Vps.SysComm.Service
{
    public class Startup
    {
        // This code configures Web API. The Startup class is specified as a type
        // parameter in the WebApp.Start method.
        public void Configuration(IAppBuilder appBuilder)
        {
            // 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);
        }
    }
}

在我的主服务启动方法中

  string baseAddress = "http://localhost:9000";
  _sysCommAPI = WebApp.Start<Startup>(url: baseAddress);

【问题讨论】:

  • 是否有不止一个启动类并且可能混淆了命名空间?
  • 实际上@BoasEnkler 你在一定程度上是对的。我正在构建混淆,由于某种原因,它无法匹配命名空间。这就是为什么我认为他们是空白的。一旦我建立了未混淆的,它就起作用了。谢谢。仍然不确定如何使其工作变得模糊。

标签: c# asp.net-web-api owin


【解决方案1】:

你可以试试 Thread.Sleep(100);里面的配置方法。 希望它会工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 2016-03-29
    相关资源
    最近更新 更多