【问题标题】:Is it possible to run F# WebApi (OWIN) project in Azure Web Roles?是否可以在 Azure Web 角色中运行 F# WebApi (OWIN) 项目?
【发布时间】:2015-01-12 01:26:39
【问题描述】:

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

所讨论的 Web 角色似乎不是 Web 应用程序类型的项目。

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

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

现在,我想知道这是否与 F# 有关,或者此错误消息是否也会出现在 C# 中,但我在 Google 上没有找到任何东西。任何人都可以对此有所了解吗?

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

尝试加载页面时发生错误。指定的演员表无效。

我怀疑这无关紧要,可能只是 VS 如何处理项目或 F# MVC 5 template 中的一个错误。

它看起来像是一个解决方案,将 e Web 角色创建为 C# 项目,然后像普通 F# 项目一样包含 Web 项目。需要注意的是,在此期间 F# Web API 模板已更新。截至目前,我使用了 1.13 版本的 F# MVC 模板中的 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 获得有关为一个角色发布多个站点的相当简单的说明。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 我想在 IIS 上安装一个HSTS module 并且以某种方式这是一种简单的方法,而无需尝试为网站挖掘文档并禁用很多 IIS 拥有的东西并制作我自己的配置(我相信无法在网站上安装 HSTS),我的意思是 this。使用计算角色和自托管路由仍然放弃了一些 IIS 好处,例如关于可扩展性,也许还有证书等。
    • 网站还为您提供了云服务没有的其他一些东西 - 例如,有一个免费的网站托管选项,它们比网络角色部署得更快,您可以进行 app.settings 和连接直接在 Azure 门户中对网站进行字符串配置更改。一般来说,如果您只想要一个 IIS 托管的网站,恕我直言,它们更适合。
    • 我也没有尝试过网络角色。我稍后会尝试并报告。
    • 确实,我最近一直在测试各种选项。除了我将如何处理 HSTS、Perfect Forward Secrecy 等之外,一个大问题是我会这样做cheaply。现在,看起来,网站也支持virtual networks,如果真的是这样,看起来我可以将它们连接到计算角色并最终连接到本地资源(如果这是更大部署的一部分)然后这是关于安全功能...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    • 2012-10-24
    • 2015-01-28
    • 2014-10-28
    • 2019-11-27
    相关资源
    最近更新 更多