没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2009-04-22 13:37:55.000|阅读 422 次
概述:本文叙述了本人怎么将默认的 MVC 应用程序发布到云端,并给出了一些相关的文章和注意事项以及自己的想法。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
开头(有点离题了,原谅!)
之前我就像某人说的那样,I’m not quite a cloud guy,但是后来看了各式各样的演示,认识了 Cloud Project 的构成,以及 Mix 09 里面某人说 "It’s fun!” 以后,就冲着这句 It’s fun,我就扔了个 Hello World 上去,感觉还不错的,但是缺乏做点什么的动力,后来就丢在一边了。差不多的时间知道了 Google App Engine, 但不知GAE 猴年马月才能用 .Net 技术的,我不会python/java,而且现在貌似 GAE 没有跟 WorkerRole 相应的东西,但是好歹也用上了GAppProxy,也叫在 Google 的云上爽了一把。
这个情况下,在心爱的微软的云上却只有一个 Hello World 实在太说不过去了,于是打算找一段时间,将自己认识的有能力演示出来的东西都搞到云上去,反正现在 Azure 是免费的(希望以后的收费政策是 GAE 现在那种模式吧),不用白不用,浪费了自己漂亮的域名多可惜啊。好,就从刚 Release 不久的 Asp.Net MVC 开始。
如何开始
现在的 Visual Studio Tools for Azure(0903CTP) 是没有安装所谓的 MVC WebRole 模板的,也就是在 Roles –> Add –> New Web Role Project 不能搞出一个以 MVC 结构开始的模板,只有 Default.aspx、web.config:
显然不够,然后发现 Roles –> Add –> Web Role Project in solution.. 选项不能用,于是删掉默认的 Web Role Project,新建一个 MVC Web Application 到解决方案,发现该选项仍然是无效的:
这时候,我的做法是用 diff 工具比较 MVC 项目文件 (C# 项目就是 .csproj 了) 和 Web Role 的项目文件,发现 MVC 项目文件没有 <RoleType>Web</RoleType> 以及一些指向 Azure SDK 中一些程序集的引用,用 diff 工具很快就能补上这些东西了。重新加载修改过的 MVC 项目文件,Roles –> Add –> Web Role Project in solution.. 就能选上了。
如果像我在开始的时候顺便创建了测试项目的话,在上面这个过程可能会造成测试项目丢失对MVC项目的引用,编译时会提示,加上即可。现在,按 F5 调试,等一轮初始化过程,MVC 项目默认首页出来了。这就完成了吗?
AspProviders & StorageClient
是差不多了,但是在 Azure 上运行的应用程序可以有多个 Instances 的,每个 Instance 运行在不同的 Appdomain 里(瞎猜的,甚至可能在不同的虚拟机中,分布在不同的地理位置……),反正是隔离的,那么像登陆这类需要 Session 的操作会产生一些问题,具体什么问题很难说,我没试过,大概就是注册不了啊,登陆记不住之类的。这时候发挥 Google 的长处,会有惊喜的,我找到了 4 篇(1,2,3,4)相关的文章,原文都是英文,比较详细,另外还有几篇出自园友(这里和这里)。除了关键的步骤,我就不重复他们的东西了。
说起来惭愧,我不是读计算机专业的,之前学过一点 Asp,没怎么学习过 Asp.Net,因此很多东西都是不久前才知道的,例如 Asp.Net 2.0 的 Provider Model。在这里 Provider Model 抽象出储存的实现,使得 Asp.Net 的各种状态可以自由选择储存在不同的媒介中,而且可以通过配置文件更改,不得不说这个设计实在非常好。上面给出的第四篇相关文章(这里)就叙述了怎么打造一个可以在 Cloud 运行的 Membership Provider。
在 Azure SDK 的安装目录中,有一个 Samples.zip,里面包含有微软提供的 AspProviders 例子,该例子提供了利用 Azure Storage 作为状态信息的储存媒介的样例,顺便也做了使用里面 StorageClient 样例的例子,哈哈,在这里能发掘不少东西的。因为 StorageClient 很多公共方法没有文档,给 Supress 了。
RTFM
AspProviders 文件夹里有一样很重要的东西,就是 providers-extended-readme.mht,我觉得这个文件一定要重视,如果你不打算写自己的 Providers 的话。里面有些代码用红色高亮了,可惜背景是灰色的,看完肯定报废一只眼睛,建议拿 Word 把那里的背景颜色改成黄色,看起来就舒服多了。
以下是我 RTFM 总结后的做法,希望对大家有用:
<ConfigurationSettings> <Setting name="DefaultProviderApplicationName" value=
"YourApplicationName"/> <Setting name="AccountName" value="YourStorageAccountName"/> <Setting name="AccountSharedKey" value=
"YourStorageAccountPrimaryKey"/> <Setting name="BlobStorageEndpoint"
value="https://YourStorageAccountName.blob.core.
windows.net"/> <Setting name="QueueStorageEndpoint"
value="https://YourStorageAccountName.queue.core.
windows.net"/> <Setting name="TableStorageEndpoint"
value="https://YourStorageAccountName.table.core.
windows.net"/> <Setting name="allowInsecureRemoteEndpoints" value="false"/> </ConfigurationSettings>
一些已知的问题
在我给出的相关文章里有了,简单归纳就是:
最后
可能因为 Azure 还是 Preview 阶段吧,这些 Providers 的配置都要靠自己 RTFM 然后人工完成,希望微软以后能提供 Azure MVC WebRole Project 模板,集成一套 Azure AspProviders,以及 StorageClient。然后呢,继续让某些人骂微软太体贴,哈哈!说实话,微软虽然让人感觉无时无刻都在 JIT,但这不是很好吗,这样才有激情,让微软有动力嘛……又跑题了……
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:博客园接DevExpress原厂商通知,将于近日上调旗下产品授权价格,现在下单客户可享受优惠报价!
面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号