当我有 Swashbuckle 和 IOperationFilter 的任何实现时,Azure 云服务(经典)角色不会启动

问题描述 投票:0回答:1

我们有一个部署到 Azure 云服务(经典)的 asp.net web api 项目,该项目使用 Swashbuckle 运行良好近一年。我们这样配置它...

GlobalConfiguration.Configuration
    .EnableSwagger(c =>
    {
        c.SingleApiVersion("v1", "PartnerAPI");
        c.UseFullTypeNameInSchemaIds();
    }).EnableSwaggerUi(c => { });

最近我们需要通过插入 IOperationFilter 来调整 swagger 生成的输出。但是,如果我们创建一个实现 IOperationFilter 的类,我们的 Azure 云服务(经典)实例将不会启动。我们甚至不尝试配置 Swagger 来使用它。事实上,在我们的解决方案中有一个实现该接口的类导致部署失败......

2016-12-29T16:10:26.1066042Z ##[error]BadRequest:您的角色实例在更新或升级操作期间已回收多次。这表明您的服务的新版本或您在配置服务时提供的配置设置阻止了角色实例的运行。验证您的代码不会抛出未处理的异常并且您的配置设置正确,然后开始另一个更新或升级操作。

一些注意事项:

  • 一切都在我的机器上运行良好,直接在 azure 模拟器中运行
  • 在队友机器上一切正常,和上面一样
  • 当我 rdp 进入 azure 机器时,以下消息似乎与 azure 机器上的事件日志相关。

文件服务器资源管理器无法访问以下文件或卷:“E:”。此文件或卷现在可能被另一个应用程序锁定,或者您可能需要授予本地系统访问权限。

  • Swashbuckle 版本 5 和 5.5 中存在同样的问题
  • 没有新的 nuget 包或对项目的引用
  • 只有一个“使用 Swashbuckle.Swagger;”添加到 SwaggerConfig.cs
  • Azure 门户报告以下“实例状态消息”...

[12/29T16:43Z]无法加载角色入口点。 System.Reflection.ReflectionTypeLoadException:无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息。在 System.Reflection.RuntimeModule.GetTypes(RuntimeModule 模块) 在 System.Reflection.Assembly.GetTypes() 在 Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.GetRoleEntryPoint(Assembly entryPointAssembly) --- 内部异常堆栈跟踪结束 --- 在 Microsoft 。 '最后退出时间:[2016/12/ 29, 16:43:59.525]。最后退出代码:0.

azure azure-cloud-services swashbuckle
1个回答
0
投票

我可以知道你是如何解决这个问题的吗?我面临着类似的问题

© www.soinside.com 2019 - 2024. All rights reserved.