如何 0 成本启动全员 AI 技能提升?戳> 了解详情
写点什么

随访:Razor 与 F#和其他语言

  • 2011-01-04
  • 本文字数:699 字

    阅读完需:约 2 分钟

上个月,Vladimir Kelman 提出这样一个问题:可否将 F#与新的 Razor 视图引擎搭配使用。在咨询过 Scott Guthrie 和 Marcin Dobosz 后,我们知道这是可行的,前提是你需要自己构建所有必要的插件才行。

第一个挑战就是语法。与老式的 ASP 风格的视图引擎不同,视图与内联代码之间的界限变得相当薄,很多语言从语法上就无法实现。根据 Scott Guthrie 所述:“从概念上来说,Razor 是支持 F#的(这意味着语法上是没问题的)”。接下来,他提到了与 Marcin Dobosz 的对话,后者解释了一些必要条件。

在 Razor 端(System.Web.Razor.dll),你需要实现自己的类,让其继承自 CodeParser、RazorCodeGenerator 和 RazorCodeLanguage(还有其他必要的辅助类),然后使用 RazorCodeLanguage.Language 注册文件扩展。我们并没有提供实现自己的语言的任何指南,因此你需要查看源代码看看 CSharp 或 VB 相关的类是如何做的。 在 MVC 端(只有在支持 @model 时才需要这步),你需要继承自 MvcWebPageRazorHost 并返回具体的 MVC 解析器和生成器,他们需要继承自基本的解析器和生成器。这时还需要查看 System.Web.Mvc.Razor 命名空间中的类的源代码。你还可以在基本的解析器和生成器中实现它,这样所有一切都只能用在 MVC 项目中了。

当然了,这些只不过是让 Razor 能够处理新语言所需做的最少的工作。如果你想要编写解析器和生成器,那么你可能还想创建 Visual Studio 所需的项目、条目以及 T4 模板以提供更好的用户体验。

ASP.NET MVC 3 2010 年 10 月 Beta 版的源代码位于 Codeplex 上,基于“ Microsoft Source License for ASP.NET Pre-Release Components ”。

查看英文原文: Follow-up: Razor with F# and Other Languages

2011-01-04 07:591417
用户头像

发布了 88 篇内容, 共 272.1 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

区块链Web3系统的开发

北京木奇移动技术有限公司

区块链技术 软件外包公司 web3开发

Ascend的aclgraph(三)TorchDynamo

zjun

PyTorch Ascend aclgraph

AI赋能零售智能配置:精准匹配产品、场景与时机

第七在线

StarRocks+Paimon落地阿里日志采集:万亿级实时数据秒级查询

阿里云大数据AI技术

人工智能 数据分析 StarRocks paimon #大数据

什么是网站IPv6支持度?怎么检测?

防火墙后吃泡面

CST如何查看阵列天线的副相一致性

思茂信息

cst CST软件 CST Studio Suite

HyperWorks基础培训教程:批处理网格划分

智造软件

Hypermesh hyperworks CAE仿真

2025 DataOps发展大会:数造科技再获殊荣,引领数据要素高质量供给

数造万象

人工智能 AI 数据 高质量 Data + AI

【HarmonyOS 开发】虚拟机无法访问本地服务 Couldn‘t connect to server

Geek_4a16a4

鸿蒙 开发工具 HarmonyOS HarmonyOS NEXT 实践分享

Ascend的aclgraph(十)另外一种成图方式GeConcreteGraph

zjun

PyTorch Ascend aclgraph

对话阿里云通义灵码技术负责人陈鑫:AI编程的现状与未来

阿里巴巴云原生

通义灵码

Ascend的aclgraph(七)AclConcreteGraph:capture_begin

zjun

PyTorch Ascend aclgraph

雅菲奥朗带您一篇知晓 A2A(Agent2Agent)& A2A vs MCP

雅菲奥朗

A2A Agent2Agent Protocol

懒懒笔记 | 课代表带你梳理【RAG 课程 6&7:评测、召回优化与多路检索】

商汤万象开发者

AI LLM rag

区块链 Web3 项目的技术架构

北京木奇移动技术有限公司

区块链技术 软件外包公司 web3开发

工业全坚固三防笔记本电脑——FZ-40

极客天地

Ascend的aclgraph(二)_npu_backend中还有些什么秘密?

zjun

Ascend pytroch aclgraph

Ascend的aclgraph(五)PrimTorch & TorchInductor

zjun

PyTorch Ascend aclgraph

从零实现模块级代码影响面分析方案|得物技术

得物技术

模块 代码影响范围

Ascend的aclgraph(四)AOT Autograd

zjun

PyTorch Ascend aclgraph

Ascend的aclgraph(八)AclConcreteGraph:capture_end

zjun

PyTorch Ascend aclgraph

Web3 App开发的技术方案

北京木奇移动技术有限公司

区块链技术 软件外包公司 web3开发

用 CodeBuddy 打造一张属于她的 520 刮刮乐,程序员的浪漫可以这么强大!

不惑

CodeBuddy首席试玩官

设备维修,掌握“一巡、二看、三动手”,轻松解决设备故障

积木链小链

数字化 设备管理 生产管理 设备维修

西藏具有资质等保测评机构汇总2025

行云管家

网络安全 等保 等保测评

对话阿里云通义灵码技术负责人陈鑫:AI编程的现状与未来

阿里云云效

仓颉开发语言入门教程:搭建开发环境

幽蓝计划

小红书APP的全新鸿蒙NEXT端性能优化技术实践

JackJiang

网络编程 即时通讯 IM

AI技术在英语学习中的应用

北京木奇移动技术有限公司

AI教育 软件外包公司 AI英语学习

Ascend的aclgraph(六)AclConcreteGraph

zjun

PyTorch Ascend aclgraph

Ascend的aclgraph(九)e2e执行aclgraph

zjun

PyTorch Ascend aclgraph

随访:Razor与F#和其他语言_.NET_Jonathan Allen_InfoQ精选文章