c# - 是否可以在 Azure Web 角色中运行 F# WebApi (OWIN) 项目?

标签 c# azure f# azure-web-roles

我不确定这是否是 F# 特定的还是其他原因,但在尝试本地调试 Azure 云服务时可能会导致以下错误消息:

The Web Role in question doesn't seem to be a web application type project.

我向解决方案添加了一个 F# Web api 项目(其中添加了 Global.asax 等,我添加了 OWIN 启动类 Startup 等),然后从我选择的现有云服务项目中添加了一个 F# Web api 项目Roles 并选择Add -> Web Role Project in Solution,这会找到 F# Web 项目(其项目类型 GUID 为 349C5851-65DF-11DA-9384-00065B846F21 F2A71F9B-5D33-465A-A702-920D77279786),其中第一个似乎正是定义 Web 应用程序类型的 GUID。

但是,当我尝试在本地启动云项目时,我收到上述错误消息。我有一个 C# Web 角色项目,当我删除 F# 项目时该项目将启动。如果我删除此 F# Web 角色 项目,我还有以 C# Web 角色项目开头的 F# 辅助角色 项目。如果我将 F# Web 项目设置为启动项目,它通常会按预期启动并运行。

现在,我想知道这是 F# 的问题还是 C# 中也会出现此错误消息,但我在 Google 上没有找到任何信息。任何人都可以阐明这一点吗?

<编辑:此外,在 F# 中尝试打开项目设置中的Package/Publish Web 选项卡将给出以下错误消息

An error occurred trying to load the page. Specified cast is not valid.

我怀疑这并不重要,可能只是 VS 处理项目或 F# MVC 5 template 中的一个错误。 .

<编辑某种解决方案:

它看起来像是一个将 e Web 角色创建为 C# 项目,然后像普通 F# 项目一样包含 Web 项目的解决方案。这里需要注意的是,在此期间 F# Web API 模板已更新。截至目前,我使用 F# MVC 模板 1.13 版本中的 Web API 2.2 和 Katana 3.0。作为众多好处中的一个额外好处,该模型似乎具有减少部署包大小的额外好处,正如 Olaf LoogmanReducing the size of an Azure Web Role deployment package 上所写的博客那样。 .

可以从Tips for Publishing Multiple Sites in a Web Role获得为一个角色发布多个站点的相当简单的说明。 .

最佳答案

旧版本的 F# 工具会发生指定的转换无效错误。 3.1.2 应该可以解决这个问题。

我个人已经毫无问题地创建了标准 worker 角色项目,并且 f# 网站托管在 azure 中,但不是 f# Web 角色 - 我怀疑对它们的支持不是很好。出于好奇,您为什么使用网络角色而不是网站项目?

关于c# - 是否可以在 Azure Web 角色中运行 F# WebApi (OWIN) 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26086704/

相关文章:

C# 日期时间到 Javascript 日期时间

c# - 什么时候应该提供接口(interface)的通用和非通用版本?

c# - C#中的1000位数字

f# - 如何在 F# 类中定义和使用静态变量

.net - F#交互式自动完成

c# - 我会通过将新值 [] 分配给填充数组来导致内存泄漏吗

azure - 如何增加Azure服务总线队列大小?

azure - 当函数应用程序横向扩展时,如何监控其实例数量?

F# 函数(正向管道运算符)不适用于数组?

azure - 如何组合对不同 Application Insights 实例中不同服务的请求或一起分析它们