小编Sta*_*Man的帖子

当新DLL复制到BIN目录时,ASP.net C#需要重新启动IIS

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

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

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

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

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

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

几个问题:

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

一些规格:

  • 代码编写于:C#
  • .net框架:2.0
  • 服务器:Windows Web Server 2008
  • iis版本:IIS7
  • 数据库:MSSQL 2008 Standard

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

c# iis iis-7 windows-server-2008

7
推荐指数
1
解决办法
2万
查看次数

间歇性SQL异常-与网络有关或与实例有关的错误

我们有一个非常奇怪的间歇性问题,该问题在上个月左右开始出现,因此与mssql服务器的某些连接失败并显示以下错误:

System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
Run Code Online (Sandbox Code Playgroud)

该错误不会关闭站点,也不需要重新启动数据库-如果您只是重新运行,则同一查询将第二次运行。这意味着许多用户会时不时地遇到错误,并且必须刷新错误页面才能正常工作。

现在,我最初的下意识反应可能是由于:

  1. 与资源相关的问题-因此,我开始运行SQL事件探查器和perfmon,但未发现服务在努力保持每秒连接数方面的任何问题。我一直在查看MSSQL:SQL错误,MSSQL:等待统计信息,MSSQL:Exec统计信息,MSSQL:锁。有人对我应该在此处提出要求的其他统计数据有任何指导吗?

  2. 未封闭的数据库连接-经过所有数据层代码后,我排除了这一连接。我们拥有所有故障保险柜,可以阻止这种情况的发生。

  3. 与连接/网络相关的问题:我们的SQL Server与应用程序服务器位于单独的服务器(MS SQL Server Standard 2008)上(在IIS7上运行ASP.Net)-两台服务器均在xlarge Amazon EC2实例上运行,并配置了所有安全策略(根据亚马逊方向)。任何人都获得了有关如何测试两个服务器之间的连接性的指导,或者这可能是问题所在?

  4. IIS连接字符串可能有问题吗?我尚未对此进行测试,但是我们是否应该使用要连接的计算机名称来完全限定服务器的性能(仅考虑一下)?我们使用以下格式的连接字符串:server=xxxxx;Database=xxxx;uid=xxxx;password=xxx;

非常感谢您的想法和见解!

提前致谢

database sql-server sql-server-2008

5
推荐指数
1
解决办法
5292
查看次数