我已经读过app_offline.htm
可以放在.NET 2.0应用程序根目录中的文件,该文件本质上会关闭应用程序并禁用所请求的任何其他页面.
我已将文件放在根目录中,我的网站仍然加载.我进入IIS中的默认文档并将其设置为app_offline.htm
并且网站仍然加载(尽管这可能是一个缓存问题)
无论如何,有没有人遇到过这个问题?难道我做错了什么?
我有一个用于facebook的小型恐龙时代命令行界面(CLI)应用程序.没有庞大的用户群,但它有自己的利基.它最无私的用法是那些部分失明并依赖其他基于文本的命令行界面的人.
它确实是一个"桌面应用程序",没有浏览器界面,也无法在应用程序中嵌入浏览器.它是使用PHP CLI用PHP编写的,它托管在github上.[获取更新信息的beta分支].
我显然有点担心被删除offline_access
.
我把我的希望寄托在待处理的"设备登录"上,并且真的希望在他们将开关切换到删除之前就已经准备就绪,offline_access
但事实并非如此.我找不到任何来自Facebook的信息,表明"设备登录"何时可用.我暗地希望FB开发团队的某个人能够看到这个,并把我当作早期采用者.
目前我将用户发送到非常旧的"一次性登录"页面:www.facebook.com/code_gen.php?v=1.0&api_key=XXX
这为用户提供了一个临时授权代码,我可以使用它来获取较旧的会话密钥 - 然后我可以使用graph.facebook.com/oauth/exchange_sessions获得新的OAuth会话.
因此,我希望Facebook上的某个人能够了解何时会出现"设备登录",或者我是否应该使用更好的方法.
现在,我拥有的最佳解决方案是托管一些页面,向用户显示他们的oauth会话信息,然后让用户将其作为命令行参数剪切并粘贴到我的应用程序.我想避免这种方法 - 特别是因为现在看起来他们必须定期(每60天)这样做.
command-line-interface app-offline.htm offlineapps facebook-oauth facebook-app-center
当我发布我的ASP.NET MVC应用程序时,它会生成一个app_offline.htm文件,以便在网站更新网站时使网站脱机,然后在发布成功后删除该文件.
这很酷,我真的很喜欢这个想法,但是我想创建我自己的自定义app_offline.htm文件,该文件是发布操作所知道的,并将它放在不影响我的开发站点的地方 - 也就是说它不在我的开发站点的根目录一直在脱机.
编辑:从Scott Gu关于app_offline.htm的帖子的评论来看,似乎用VS 2005无法自定义app_offline.htm文件 - 这是用VS 2008和现在的VS 2010改变的吗?
asp.net asp.net-mvc publish visual-studio-2010 app-offline.htm
我有一个使用.NET 4.0开发的AJAX密集型ASP.NET Web应用程序,使用TFS作为源代码控制.我们最近将我们的开发工具升级为独家使用VS2010和TFS 2010,但现在每次检出文件时,我们都会看到visual studio重新加载所有符号,并删除所有会话.
在输入一些错误记录代码之后,我们发现回收的原因是它认为每当我们结账时App_offline.htm都在变化.这在项目的任何地方都不存在,我的SO-fu已经找到了一些关于SQL Express的信息,使得这个文件被创建和删除,所以这可能就是这里发生的事情.
看起来我安装了SQL-Express,但即使禁用正在运行的服务,问题仍然存在.
有没有办法阻止退出/删除此文件,如果这确实是发生了什么?每当我查看一个文件时,让应用程序回收是令人沮丧的......
我正在遵循Scott gu的伎俩,在我的应用程序的路径上放置一个App_Offline.htm页面使其脱机 - http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx
但它似乎并没有在我的某个网站上运行.我将文件放在我的一个站点的IIS7中,所有流量都被重定向到它.
但是在其他站点,同一服务器等中,我得到一个包含"服务不可用"的页面.
不知道我哪里错了 - 任何想法?
我喜欢在基于ASP.NET WebForm的站点上使用app_offline.htm的功能.
上传文件,您的应用会立即"离线".瞬间.
现在我正在使用MVC 2,我注意到这不再适用.
有没有办法在ASP.NET MVC 2中像在WebForms中那样获得此行为?
如果没有,您更喜欢哪种替代方案?
我为64位IIS7/Win2008上运行的ASP.NET MVC2应用程序创建了一个app_offline.htm文件,并确保它超过512字节(现在是2KB).在我运行Visual Studio 2010的开发盒上,它就像一个魅力,但当我把它放在生产盒上时,我得到的只是通用的HTTP 500错误,说"由于发生内部服务器错误,页面无法显示".
特别奇怪的是,我没有在应用程序事件日志中记录任何内容,ELMAH也没有选择任何内容.我已经禁用了自定义错误,为文件放置了FormsAuthentication位置异常,确保我没有引用任何其他文件(图像等),但没有任何修复它.
我已经阅读了关于SO和谷歌搜索的每个帖子几个小时,无法弄清楚这一点.什么想法可能是错的?我把头发拉到这里......
在某种情况下,放在app_offline.htm
根目录中是正确的:您进行了一些更新,更新时会显示消息,就是这样.正如微软所说,这个想法是,在调用任何东西之前,IIS首先检查app_offline.htm是否存在,如果是,它会取消所有内容并显示它.
所以非常好,但在许多情况下它不起作用:
可能存在更多失败的情景.我的观点是:对于任何严肃的更新工作,app_offline.htm都不合适.我有时会在IIS中创建一个重定向到另一个站点,但是另一个站点可能并不总是可用,并且可能会使用户感到困惑.
理想情况下,我希望将当前位置保留在最终用户的URL位置栏中,显示消息,并让页面每分钟自动刷新以查看该站点是否返回,以便用户继续当网站回来时的左边.虽然在技术上使用静态页面很容易,但是在抛出错误的那一刻,它会因上述原因而失败.
所以,我正在研究的网站是使用urlrewriting与aspnet_isapi.dll协调(一切都映射到它).我提出了我的app_offline.htm文件,然后显示了所有文本,但是没有提供CSS或图像.由于通配符映射而不是IIS,我猜他们正在处理它们.它是否正确?如果是这样,我如何允许IIS提供这些文件?此外,我可以看到在web.config中出现的重写器设置问题:
<rewrite url="^~/images/network/(.*)/(.*).jpg$" to="~/services/ImageHandler.ashx?type=$1&id=$2"/>
<rewrite url="^~/image/view/(.*).jpg$" to="~/ServePRView.aspx?id=$1"/>
<rewrite url="^~/asset/view/(.*).jpg$" to="~/services/ImageHandler.ashx?id=$1&type=asset"/>
Run Code Online (Sandbox Code Playgroud)
感谢大家的帮助,-Steve
ASP.NET服务的app_offline.htm文件返回http状态503.这是大多数情况下的正确行为.但是,在请求特定URL的情况下(例如https://www.mywebsite.com/monitor),我想将返回的http状态更改为200,同时在所有其他情况下仍返回http状态503.这可能吗?
我之所以这样做是因为每当我们在我们的网站上进行定期维护时,我们都会使用app_offline.htm文件,但我们不希望我们的正常运行时间监控服务(Pingdom.com)在我们的计划维护期间报告停机时间.
我认为这必须在IIS级别,因为app_offline.htm在请求处理周期中很早就得到了服务.
app-offline.htm ×10
asp.net ×8
asp.net-mvc ×3
iis-7 ×2
css ×1
iis ×1
isapi ×1
offlineapps ×1
publish ×1
tfs2010 ×1