小编ste*_*fan的帖子

ASP.NET中的无缝部署(IIS在新工作进程准备好之前杀死工作进程)

我正在尝试将.NET Web应用程序部署到IIS(7.5),而不会给用户带来任何麻烦.我确保禁用重叠回收是错误的,但我每次都遇到同样的问题.

每次我为站点上传新的二进制文件时,IIS都会在启动新进程之前终止该进程.所以每次上传新的二进制文件时,用户都会收到以下错误消息:

'/'应用程序中的服务器错误.无法加载文件或程序集"MyApplicationWeb"或其依赖项之一.该进程无法访问该文件,因为该文件正由另一个进程使用.(HRESULT异常:0x80070020)

我不知道如何无缝地做到这一点.现在我只是上传二进制文件; 但是当上传发生时(或本地副本),它将给出上述引用的行为.我也尝试使用Web园,但结果相同.

我不想要的:

  • 如何使用外部负载平衡器来解决这个问题(这是一个功能性的解决方案,但对于少数服务器而言,这是一个糟糕的解决方案,如果只有一台服务器,它将无法工作)
  • 如何在自定义错误页面中创建一个带有刷新的hack-around(因为它有一些明显的问题,但更重要的是它根本不适用于web服务/ ajax).

我认为这应该是可行的,因为http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/24e3c22e-79a9-4f07-a407-dbd0e7f35432.mspx?mfr=true

更新:在上面的文章中他们说:

但是,由于关闭或启动的关闭超时值是可配置的,因此如果工作进程在时间限制内未完成为现有请求提供服务,则它仍可在服务请求时终止.

我不知道在哪里可以找到这个值,也不知道它是什么默认值.如果它少于几秒钟就可以解释我的结果.

PS.我发布它是在SO而不是SF /网站管理员等,因为我认为这种知识可能在那些不积极参与开发的人中很少,我希望这是可以的.

asp.net deployment iis worker-process

13
推荐指数
1
解决办法
4743
查看次数

CakePHP将表单提交给正确的操作

我在add.ctp中有这个:

<!-- File: /app/views/posts/add.ctp --> 

<h1>Add Post</h1>
<?php
echo $form->create('Post');
echo $form->input('title');
echo $form->input('body', array('rows' => '3'));
echo $form->end('Save Post');
?>
Run Code Online (Sandbox Code Playgroud)

这在我的控制器中:

function add(){
    if (!empty($this->data)) {
        if($this->Post->save($this->data)){
            $this->Session->setFlash('Your post has been saved');
            $this->redirect(array('action' => 'index'));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是CakePHP如何知道当用户点击提交时,将"数据"发送到控制器中的"添加"功能?

php cakephp

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

如果我在源代码中插入注释,它的二进制文件 MD5 会被更改吗?

我只是想知道......如果我正在考虑为我销售的软件的每个客户创建不同的版本,我可以使用 MD5 检查每个版本,只需更改源代码中的注释并重新编译吗?我的意思是,C++、C# 或 java 代码中的 ## 注释会更改二进制 MD5 吗?

c c# c++ java md5

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

标签 统计

asp.net ×1

c ×1

c# ×1

c++ ×1

cakephp ×1

deployment ×1

iis ×1

java ×1

md5 ×1

php ×1

worker-process ×1