我们收到一个问题,每次我们将一个dll复制到bin目录时,我们在网站上的主域都会停止运行,恢复它的唯一方法就是重新启动“WWW Publishing Service”.

我们运行一个网站,其中包含许多运行在单个服务器上的IIS应用程序,其中每个应用程序都配置为运行不同的应用程序池.

我们有一个庞大的代码库,在整个网站上包含超过280个aspx页面.我们的主域包含大约100个aspx页面,而子域包含15或20个.

当我们进行构建时,我们正在生成一堆dll,我们手动将其复制到生产服务器bin目录中.一旦我们这样做,IIS显然会启动回收编译每个aspx页面和代码隐藏的回收.在这一点上,该网站基本上停止了(有时它需要重新启动 – 通过重新启动Web发布服务 – 再次唤醒它).

奇怪的是,这只发生在我们部署到主域IIS应用程序时,即www.如果我们以相同的方式将bin文件部署到子域,它几乎立即起作用.

即使我做了iisreset.exe,这似乎也无法解决问题.

几个问题:

>无论如何加速当前进程以便我们不必重新启动服务器?
>是否会有任何明显的代码更改或更新,这将导致需要重新启动服务(有时我们运行iisreset但这似乎没有恢复生命)?

一些规格:

>代码编写于:C#
> .net framework:2.0
>服务器:Windows Web Server 2008
> iis版本:IIS7
>数据库:MSsql 2008 Standard

任何援助将不胜感激.提前致谢.

当您将app_offline.htm文件放在主域的wwwroot中时,IIS站点将脱机.这是Scott Gu描述的IIS的默认行为.执行此操作时,可以安全地覆盖所有dll.当您删除app_offline.htm文件时,您的应用程序将在下次请求时启动.

了解有关app_offline.htm here和here的更多信息.

Basically,if you place a file with this name in the root of a web application directory,ASP.NET 2.0 will shut-down the application,unload the application domain from the server,and stop processing any new incoming requests for that application. ASP.NET will also then respond to all requests for dynamic pages in the application by sending back the content of the app_offline.htm file (for example: you might want to have a “site under construction” or “down for maintenance” message).

This provides a convenient way to take down your application while you are making big changes or copying in lots of new page functionality (and you want to avoid the annoying problem of people hitting and activating your site in the middle of a content update). It can also be a useful way to immediately unlock and unload a sql Express or Access database whose .mdf or .mdb data files are residing in the /app_data directory.

Once you remove the app_offline.htm file,the next request into the application will cause ASP.NET to load the application and app-domain again,and life will continue along as normal.

当新DLL复制到BIN目录时,ASP.net C#需要重新启动IIS的更多相关文章

  1. cocoapods – 命令/ bin / sh失败,退出代码23

    适用于所有豆荚,无需豆荚但仍然是同样的错误.有任何想法吗?

  2. 当Xcode 4.6打开故事板时,ios – Xcode 5崩溃

    我从2个月前开始使用Xcode4.6的项目,现在我想发送给我的应用程序一切都可以,但是当我尝试在iOS7上运行应用程序时,我看到一些错误;所以我已经下载了新的Xcode5以查看错误在哪里,但是发生了什么事情是当我尝试打开与IBXcode崩溃的故事板.我试图在互联网上看到如何解决这个问题,但我没有找到任何关于这一点.此外,当我尝试使用iOS7在设备上运行应用程序时,Xcode给我的错误是:解决方法问

  3. Xcode 8.2,Swift编译器错误:错误:意外的输入文件

    从Xcode8.1更新到8.2后,我在项目中面临Swift编译器错误.我使用最新的Swift版本和Carthage进行依赖管理.它与Xcode8.1完美搭配,现在我已经尝试了几个小时来修复它,方法是清理DerivedData和Simulator数据,在Xcode中清理并删除Build文件夹,但似乎没有任何帮助.我只安装了一个Xcode版本.我得到以下编译错误:它所指的文件夹如下所示:它实际上在那里,所以我不知道发生了什么……如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举

  4. phonegap运行android – create命令失败,退出代码8 – linux

    我做了一些googleing但没有发现任何相关内容.任何帮助赞赏.请务必使用裸体vm进行尝试没有nodejs安装或依赖问题.基督教解决方法我刚刚面临同样的问题,问题是没有正确设置sdk工具的路径:请尝试以下方法:

  5. 无法为Android教程构建GStreamer

    我在尝试构建GStreamerAndroid教程时遇到了很多问题.我的环境是:>MacOSX7>AndroidSDK版本17>AndroidNDK8d我能够在Eclipse和命令行中构建和运行NDK示例.我已经下载了http://cdn.gstreamer.com/android/arm/gstreamer-sdk-android-arm-debug-2012.11.tar.bz2并将GSTREA

  6. android – 无法摆脱错误“/usr/bin/ld:找不到-lncurses”

    有人能指出我错过了什么吗?解决方法然后重新运行命令

  7. android – 无法更改默认输出文件夹

    所有我无法在Eclipse中更改默认输出文件夹.当我打开“属性”–>“Java构建路径”–>“Source”,默认输出文件夹是我改成了保存并清理–构建此项目.它变回了这是在我将ADT插件更新到15.0.1之后发生的一些配置:任何建议表示赞赏.谢谢,约翰尼解决方法从AndroidChangesinRevision14开始:Changetothebinoutputfolder.WhiletheAntb

  8. Android ICS编译问题

    我成功下载了Android4.0.3的源代码.但我无法在我的机器上编译它.我的机器配置是UBUNTU11.1064位,4GBRAM当我运行午餐命令时收到以下错误.JDK已经在路径中.当我运行命令java-version时,我正在关注OutPut任何人都可以帮助继续吗?解决方法如果检查脚本build/core/find-jdk-tools-jar.sh,则可以看到它首先检查名为ANDROID_JAVA_HOME的环境变量.如果将ANDROID_JAVA_HOME环境变量设置为JDK路径,则应修复此错误.

  9. Android模拟器错误消息:“PANIC:”x86“CPUS缺少仿真器引擎程序.

    我试图通过使用AVD管理器运行一个Android模拟器.这是我的avd:http://image-upload.de/image/fnx79V/52b0d050ee.png这是通过开始发生的事情:http://image-upload.de/image/vGpQfa/e912d83939.png我有一个MacbookPro视网膜从intel页面直接安装Haxm驱动程序.没有模拟器正在工作.所有得到

  10. android – react-native:command not found

    我正在获得-bash:react-native:命令在创建反应本机项目时找不到错误.以下是附加信息我尝试从下面的链接建议的步骤,但仍然我得到相同的错误.>react-native-command-not-found我没有在解决方案中指定的任何“npm”目录但是我发现npm文件存在于下面的位置.我卸载了反应本机并重新安装,但仍然面临同样的问题.解决方法添加正确的路径到PATH变量问题后解决.以下是找

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部