我使用VS.NET 2013在我的本地盒子上开发了一个站点,我有IIS指向我的本地驱动器所在的文件。我的网站要求我登录,因此我将登录并导航到某个页面。如果我在该页面上看到需要修复的样式,我将编辑css文件并尝试在浏览器中刷新页面。但该网站踢我并强迫我再次登录,这是由于.css文件编辑导致IIS网站回收造成的。
有没有办法阻止它回收css文件编辑?我注意到我通常可以在没有回收的情况下修改.aspx页面。该网站是ASPX和MVC页面的混合。
更新
我在VS.NET中开发,但我不是通过IIS Express在我的盒子上运行它,而是通过IIS本身运行它。
我只编辑.css文件,最终在几次保存后,网站回收。我也尝试在记事本中编辑.css文件,这些编辑最终也会回收网站。
我确实将ScottGu的代码(http://weblogs.asp.net/scottgu/433194)添加到Application_End(),该代码记录了关闭原因,以及报告的内容如下:
_shutDownMessage=Change in App_Offline.htm
HostingEnvironment initiated shutdown
Change in App_Offline.htm
Change in App_Offline.htm
Change in App_Offline.htm
Change in App_Offline.htm
Change in App_Offline.htm
Change in App_Offline.htm
Change in App_Offline.htm
HostingEnvironment caused shutdown
_shutDownStack= at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Environment.get_StackTrace()
at System.Web.Hosting.HostingEnvironment.InitiateShutdownInternal()
at System.Web.HttpRuntime.ShutdownAppDomain(String stackTrace)
at System.Web.HttpRuntime.OnAppOfflineFileChange(Object sender, FileChangeEvent e)
at System.Web.DirectoryMonitor.FireNotifications()
at System.Web.Util.WorkItem.CallCallbackWithAssert(WorkItemCallback callback)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
我不知道app_offline.htm是如何被修改的,因为我没有触及它。事实上,我没有名为app_offline.htm的文件,因为如果我这样做,我将无法看到该网站/登录/等。
听起来我需要一个文件监视器,看看谁在触摸它,但我怀疑其他东西正在触及app_offline.htm以触发回收。
答案 0 :(得分:0)
由于CSS编辑,IIS不应该重新启动。修改web.config文件通常会触发回收。此外,可能修改Bin文件夹的内容。
答案 1 :(得分:0)
虽然IIS和ASP.Net默认情况下不处理css文件 ,但这只是一个可以更改的选项。有时,您希望在将服务器发送到浏览器之前使用ASP.Net来更改服务器上的css文件(尽管通常有更好的方法来完成相同的事情)。
打开IIS管理器,单击左侧“连接”窗格中树中的站点,然后在右侧的IIS部分中找到Handler Mappings
图标。打开它,看看你是否有*.css
路径的映射。
此外,您可以在web.config文件中定义处理程序。查看你的web.config,看看你是否为css文件定义了一个处理程序(虽然这里的任何内容也应该显示在IIS管理器视图中)。