[英]self-hosting OWIN in windows service, no configuration method.
我试图在Windows服务中自托管OWIN。 当我通过Visual Studio 2017调试时,效果很好,但是当我尝试在发布版本中运行服务时,出现以下错误。
未处理的异常:System.EntryPointNotFoundException:尝试加载应用程序时发生以下错误。 -在类'。,Vps.SysComm.Service,Version = 3.12.0.0,Culture = neutral,PublicKeyToken = null'中找不到'Configuration'方法。 在Microsoft.Owin.Hosting.Starting.DirectHostingStarter.Start(StartOptions options)处的Microsoft.Owin.Hosting.Engine.HostingEngine.Start(StartContext context)在Microsoft.Owin.Hosting.Engine.HostingEngine.ResolveApp(StartContext context) Microsoft.Owin的Microsoft.Owin.Hosting.WebApp.Start(StartOptions选项)的.Owin.Hosting.Starter.HostingStarter.Start(StartOptions选项)(Microsoft.Owin.Hosting.WebApp.Start(StartOptions选项))。 ..()位于..(String [])处的Hosting.WebApp.Start [TStartup](StartOptions options)
有趣的是。 启动类名称。
这是我的入门班。
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);
您可以尝试Thread.Sleep(100); 内部配置方法。 希望它会工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.