【问题标题】:Flask application fails after updated Azure service plan更新 Azure 服务计划后 Flask 应用程序失败
【发布时间】:2017-05-03 00:52:10
【问题描述】:

我有一个在 Azure 上运行的烧瓶应用程序。在我将 Azure 服务计划从“D1 Shared”更新为“S1 Standard”之前,它一直运行良好。

尝试访问应用程序时,我收到以下错误:

“/”应用程序中的服务器错误。

找不到类的类型 Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics,版本=1.0.0.0,文化=中性, PublicKeyToken=31bf3856ad364e35.

描述:执行过程中发生了未处理的异常 当前的网络请求。请查看堆栈跟踪以获取更多信息 有关错误的信息以及它在代码中的来源。

异常详细信息:System.Configuration.ConfigurationErrorsException: 找不到类的类型 Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics,版本=1.0.0.0,文化=中性, PublicKeyToken=31bf3856ad364e35.

来源错误:

在执行过程中产生了一个未处理的异常 当前的网络请求。有关原产地和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。

堆栈跟踪:

[ConfigurationErrorsException: 找不到类的类型 Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics,版本=1.0.0.0,文化=中性, PublicKeyToken=31bf3856ad364e35.]
System.Diagnostics.TraceUtils.GetRuntimeObject(字符串类名,类型 基本类型,字符串初始化数据)+6967379
System.Diagnostics.TypedElement.BaseGetRuntimeObject() +45
System.Diagnostics.ListenerElement.GetRuntimeObject() +83
System.Diagnostics.ListenerElementsCollection.GetRuntimeObject() +142 System.Diagnostics.TraceInternal.get_Listeners() +185
System.Diagnostics.TraceInternal.WriteLine(字符串消息)+119
System.Diagnostics.Debug.WriteLine(字符串消息) +9
Microsoft.Web.Compilation.Snapshots.SnapshotHelper.RestoreSnapshot(字符串 选项)+359

[TargetInvocationException: 异常已被目标抛出 调用。] System.RuntimeMethodHandle.InvokeMethod(Object 目标、Object[] 参数、签名 sig、布尔构造函数)+0
System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(对象 obj, Object[] 参数,Object[] 参数)+160
System.Reflection.RuntimeMethodInfo.Invoke(对象 obj,BindingFlags invokeAttr、Binder binder、Object[] 参数、CultureInfo 文化) +101 System.RuntimeType.InvokeMember(字符串名称,BindingFlags bindingFlags,Binder binder,Object target,Object[] providedArgs, ParameterModifier[] 修饰符、CultureInfo 文化、String[] 命名参数)+2026
System.Web.Compilation.BuildManager.RestorePortableCompilationOutputSnapshot() +10008589 System.Web.Compilation.BuildManager.ExecutePreAppStart() +18 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, 异常 appDomainCreationException) +531

[HttpException (0x80004005): 异常已经被目标抛出 的调用。]
System.Web.HttpRuntime.FirstRequestInit(HttpContext 上下文) +9963380 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext 上下文) +101 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest WR,HttpContext 上下文)+254

我尝试将服务计划改回“D1 Shared”,然后应用程序再次正常运行。

我看到很多帖子都说要确保解决方案引用了“Microsoft.Azure.Plugins.Diagnostics.dll”。我试图通过“右键单击”->“参考”->“添加参考...”->“.NET”->“Microsoft.Azure.Plugins.Diagnostics”来做到这一点。当我再次发布时,我可以在“bin”文件夹中看到 dll。但我仍然遇到同样的错误。

我是否以错误的方式进行引用?如果是这样,我该如何正确地做到这一点。

我还应该做些什么来使我的解决方案适用于“S1 标准”?

【问题讨论】:

  • 有两个已解决的 SO 线程 stackoverflow.com/questions/38200782/…stackoverflow.com/questions/36236008/… 与您的问题类似。请尝试参考它们并检查您的应用是否存在相同的问题。有任何更新,请告诉我。
  • 您引用的两个线程不是同一个问题。他们都得到“内部服务器错误”,这意味着应用程序已经崩溃。就我而言,应用程序正在运行,但在我升级 Azure 服务计划时没有运行,然后由于缺少 dll 文件(我似乎无法以正确的方式添加/包含)而出现错误。不过还是谢谢你的评论。

标签: python azure visual-studio-2015 flask


【解决方案1】:

这是解决方案:

通过转到 Azure 门户 -> 应用程序设置,然后将 'WEBSITE_DYNAMIC_CACHE' 的值设置为 '0'(零)来禁用动态缓存。

完成这些步骤后,尝试将您的定价层从共享扩展到标准。

【讨论】:

    猜你喜欢
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    • 1970-01-01
    相关资源
    最近更新 更多