【发布时间】:2015-04-15 09:10:30
【问题描述】:
我有一个 Azure 移动服务项目。在本地运行时一切正常,Application_Start() 方法被调用,该方法又调用我的 WebApiConfig.Register() 方法。
但是,当发布到实时 Azure 移动服务服务器时,Application_Start() 不会与 WebApiConfig.Register() 一起被调用。
在服务器日志中,我有以下条目:
未找到引导程序 - 使用默认引导程序。可以通过以下两种方式之一指定引导程序:通过定义一个名为“WebApiConfig”的公共静态类,该类具有一个名为“Register”的公共无参数成员,或者使用“IBootstrapper”属性定义一个具有默认构造函数。
为什么 Azure 移动服务没有获取我的 BootStrapping WebApiConfig?
public static class WebApiConfig
{
public static void Register()
{
Trace.TraceInformation("Hello from WebApiConfig Register().");
// Use this class to set configuration options for your mobile service
ConfigOptions options = new ConfigOptions();
// Use this class to set WebAPI configuration options
HttpConfiguration config = ServiceConfig.Initialize(new ConfigBuilder(options));
// To display errors in the browser during development, uncomment the following
// line. Comment it out again when you deploy your service for production use.
// config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
}
}
public class WebApiApplication : System.Web.HttpApplication
{
public WebApiApplication()
{
Trace.TraceInformation("Hello from WebApiApplication ctor!");
}
protected void Application_Start()
{
Trace.TraceInformation("Hello from Application_Start()");
//RouteConfig.RegisterRoutes(RouteTable.Routes);
WebApiConfig.Register();
var dataContext = new DataContext();
dataContext.Database.Initialize(false);
}
}
非常感谢您的帮助!
【问题讨论】:
-
我也遇到了同样的问题,请问您最后找到解决方法了吗?
-
嗨蒂姆,我真的不记得我们是否/如何解决了这个问题。我一直在跟踪我们的源代码管理以找到任何修复,但看不到任何突出的东西。您是否设法找出问题所在?这么晚回复真的很抱歉!
-
嗨,丹尼尔,别担心。具体记不得了。我认为这可能是一个 Nuget 包,它更新得太远了,Azure 托管无法处理。如果有人看到这个问题,请检查所有 Nuget 包的版本并检查 Azure 托管是否可以处理它们。
标签: azure asp.net-web-api azure-mobile-services