小编Rui*_*Rui的帖子

preCondition ="managedHandler"如何为模块工作?

在阅读了有关集成管道的一些文档之后,我很困惑IIS如何确定何时运行托管模块,托管请求实际是什么,以及如何确定,例如:

http://www.iis.net/learn/application-frameworks/building-and-running-aspnet-applications/aspnet-integration-with-iis http://blogs.msdn.com/b/tmarq/archive/2007 /08/30/iis-7-0-asp-net-pipelines-modules-handlers-and-preconditions.aspx

多次提到"管理"请求.有一个实例解释了托管请求是一个具有到托管处理程序的映射的请求.还有一句话说处理程序是一个"特殊"模块(第二个链接).

模块被描述为针对每个请求运行的东西,并且处理程序具有指定何时应该运行的映射(例如,针对*.aspx的HTTP GET)(第二和第一链接).此外,对于模块,execute_request_handler [我假设作为处理程序实际运行的点]来自管道的几个阶段(在begin_request,authenticate,authorize等之后......),它意味着有一个步骤在所有这些之前发生,它确定请求是针对托管处理程序的,以便在请求不是托管处理程序时禁用具有preCondition ="managedHanlder"的模块的执行.

我觉得这里有一些我不知道的东西,有人可以解释一下preCondition ="managedHandler"是如何工作的吗?

c# asp.net iis

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

使IIS通过Owin管道开始响应请求的过程是什么?

如果在Visual Studio 2013中创建一个空的ASP.NET Web应用程序项目,请打开包管理器控制台并安装包Microsoft.Owin.Host.SystemWeb

添加具有配置(IAppBuilder应用程序)方法的Startup类,例如:

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        app.Run(context => context.Response.WriteAsync("hello"));
    }
}
Run Code Online (Sandbox Code Playgroud)

然后运行,你会看到hello出现在浏览器中.但是,你看一下这个项目,没有任何文件的变化,即web.config,它表明正在使用Owin管道.更重要的是,如果您有Startup类但不安装Microsoft.Owin.Host.SystemWeb包,则不会运行Startup的Configuration方法.

我怀疑有一个自定义模块和处理程序参与使所有这些发生,但无法找到任何有关它的文档.我能够找到的唯一能够轻微触及这个主题的是这个.

如何通过引用一些dll来改变处理请求的方式?

c# asp.net iis owin katana

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

Powershell中的测试路径行为

我正在尝试在powershell中编写一个脚本来批量转换视频文件.

我打算使用它的方法是去一些充满视频文件的文件夹并运行它.它使用可以在"命令行模式"(名为handbrake)中运行的转换程序,并在文件扩展名之前保存转换后的文件,并附加"-android".例如,如果我在文件夹中有一个名为video1.avi的文件,则在运行脚本后该文件夹有2个文件:video1.avi和video1-android.avi

我想这样做的原因是我可以检查每个视频文件是否有转换后的版本(名称附加了-android).如果是这样,请跳过该文件的转换.

而这就是我有所收获的地方.问题是Test-Path的行为(我用来测试文件是否存在的cmdlet).

如果视频文件具有"不寻常"的名称(例如在我的情况下,它是视频[long] .avi),如果您尝试检查该文件是否存在,则Test-Path始终返回False.

您可以通过以下方式轻松测试:

转到空文件夹,运行记事本以创建名称中带有"["的文件:

&notepad test[x].txt
Run Code Online (Sandbox Code Playgroud)

保存文件

然后这样做:

Get-ChildItem | ForEach-Object {Test-Path $_.FullName}
Run Code Online (Sandbox Code Playgroud)

它不会回归真实!应该对吗?好吧,如果文件名称中有"["(我没有检查任何其他特殊字符),则不会

我意识到,如果你逃避"["和"]",它就有效

Test-Path 'test`[x`].txt'
Run Code Online (Sandbox Code Playgroud)

返回true.

我该如何解决这个问题?我希望能够:给定文件的BaseName,将其附加到"-android.avi"并检查是否存在具有该名称的文件.

谢谢,芮

powershell

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

标签 统计

asp.net ×2

c# ×2

iis ×2

katana ×1

owin ×1

powershell ×1