【发布时间】:2017-08-29 05:18:13
【问题描述】:
我在 https 子域上放置了一个 web api 服务。我使用城堡 Windsor 创建所有类(每个 Web 请求),从控制器到域对象。
我在本地机器上测试了所有操作,还使用了提琴手。一切正常。并且没有发生内存泄漏。而且我们还有一个可以处理所有动作的移动程序员,而且一切都很好。
但在 https 上托管后,通过对 web api url 的每个请求,应用程序池都会停止。
但授权请求工作正常。我的申请有什么问题?这是我的配置文件代码:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config, IAppBuilder app)
{
// Web API configuration and services
var container =Bootstrapper.WireUp();
ConfigCors(container, config);
RegisterControllers(container);
UserManagement.Config.Bootstrapper.WireUp(container);
config.Services.Replace(typeof(IHttpControllerActivator), new WindsorControllerActivator(container));
container.Register(Component.For<IDataProtectionProvider>().ImplementedBy<DpapiDataProtectionProvider>()
.UsingFactoryMethod(x => app.GetDataProtectionProvider()));
// Web API routes
config.MapHttpAttributeRoutes();
config.AddFiveLevelsOfMediaType();
config.Routes.MapHttpRoute(
name: "DefaultApiWithAction",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
//config.Routes.MapHttpRoute("DefaultApiWithId", "Api/{controller}/{id}", new { id = RouteParameter.Optional }, new { id = @"\d+" });
}
private static void ConfigCors(IWindsorContainer container, HttpConfiguration config)
{
var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
}
【问题讨论】:
-
检查服务器的事件日志,杀死池的错误可能记录在那里
标签: c# asp.net-mvc asp.net-web-api2 application-pool