asp.net – 为什么在发布Web App时我的WebJob没有被更改?
我有一个部署到Azure的ASP.NET MVC Web App. VS 2013 Pro中的解决方案有3个项目:
> Web App项目 Webjob项目通过Add – >添加到主App项目中.新的Azure Webjob项目上下文菜单,实际上在同一解决方案中添加了一个新项目,这很好. 当我最初将应用程序发布到Azure时,Webjob也已部署,并且所有工作都按预期工作. Webjob每天运行一次. 现在我对Webjob进行了一些本地更改,并且需要发布这些更改.我按照相同的过程来部署应用程序(rtClick主应用程序 – >发布),该应用程序也应该获取对Webjob的更改,但预览窗格没有获取更改,然后更改随后未发布到Webjob . 顺便说一句,我对Common项目所做的任何更改都会成功获取,所以看起来有一些奇怪的做法是进行更改和发布Webjobs. 有没有人遇到过这个? 解决方法
我找到了问题的原因.它实际上非常简单,但也非常令人沮丧.
发布Web应用程序时,您可以选择删除目标位置的其他文件.我总是把这个检查过,因为我不喜欢无故留下旧文件. 您还可以选择从App_Data文件夹中排除文件,我也始终将其保留为已选中状态,以便根据上面的删除配置删除App_Data中的文件.然后我通常配置像NLog日志文件,ELMAH xml文件等的东西进入App_Data安全,知道那里的任何东西都不会被删除. 因此,Webjobs的问题在于它们被部署到App_Data中.因此,如果检查从App_Data文件夹中排除文件,那么当应用程序发布时,它正在执行它所说的并忽略App_Data,因此忽略对Webjob的更改. 因此,简单的解决方案是取消选中此选项,并成功部署Webjob.但是现在的问题是App_Data中的所有其他文件都将被删除(日志文件等). 因此,您可以取消选中删除文件配置,但这可能会留下其他不需要的文件.不理想. 另一个选项是选中删除配置,在发布之前单击“发布”对话框中的“预览”按钮,然后手动取消选中您不想删除的每个文件.但是,如果要保留的任何文件位于App_Data中的子文件夹内,则发布过程将失败,例如App_Data文件/日志. 因此,另一个选项是将要保留的App_Data中的所有文件移动到App_Data的根目录中,然后在发布之前取消选中预览窗口中的每个文件.一次完成并不是一件大事,但在发布很多次时变得单调乏味. 我意识到我可以将日志文件等移动到Azure存储,SQL数据库等,但如果是其他文件在App_Data中需要保存的话呢? App_Data不仅仅适用于Webjobs,但如果您还将App_Data用于其他内容,则使用Webjobs会产生一些尴尬的情况. 想知道我是否遗漏了这里明显的东西? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 为什么ASP.NET MVC使用会话状态?
- asp.net-mvc – 发布MVC应用程序VS2013时未包含字体文件
- asp.net-mvc – ASP.net MVC – 为一个用户/角色授权控制器
- ASP.NET MVC编辑器模板和Html.EditorFor(…) – 如何消除类
- asp.net – 使用Web Api,SignalR,MVC和OWIN的Ninject
- ASP.NET MVC3:部分视图和主视图之间的交互
- asp.net-mvc – ASP.Net Mvc固定长度字符串数据注释
- asp.net核心 – 在Visual Sudio 2015中的Aurelia项目设置和
- “前.NET Core时代”如何实现跨平台代码重用 ——源文件重用
- ASP.NET MVC Model绑定的简单应用
- 如何在ASP.NET MVC中具有相同名称的文件夹和控制
- asp.net-mvc – ASP.NET MVC的Windows Azure存储
- asp.net – Web配置转换不适用于Visual Studio o
- Asp.net(C#)读取数据库并生成JS文件制作首页图片
- asp.net-web-api – 如何配置Web API 2和结构图
- asp.net-mvc – 无法在Web服务器上启动调试. Web
- asp.net – 我是否需要viewstate来输入控件,如复
- asp.net-mvc – ASP.NET MVC – Html.Textbox()t
- asp.net-mvc-4 – 无法获取MVC 4 FileExtensions
- asp.net – 通过控件循环