Asp.net IIS虚拟目录
我尝试通过我的Asp.net IIS虚拟目录,asp.net,iis,Asp.net,Iis,我尝试通过我的global.asax发送PDF文件以检查访问权限 我将以下内容添加到我的web.config: <system.webServer> <validation validateIntegratedModeConfiguration="false"/> <modules runAllManagedModulesForAllRequests="true" /> </system.webServer> 我删除了httpHandle
global.asax
发送PDF文件以检查访问权限
我将以下内容添加到我的web.config:
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
我删除了httpHandlers
,并由此得到一个错误:
Could not load file or assembly 'Pipeline' or one of its dependencies. The system cannot find the file specified.
因此,我认为问题在于
`type=“Pipeline.TimeHandler,Pipeline”
不起作用。但是我应该在那里配置什么来使用standart IIS管道来执行应用程序\u AuthenticateRequest
呢 您正在混合集成模式和经典模式配置。似乎您的IIS是在集成模式下配置的(在system.webServer中有设置),而您在经典模式(system.web)下注册HTTP处理程序
尝试将其添加到system.webServer配置部分:
<handlers>
<add name="SampleHandler" verb="*" path="*.pdf" type="Pipeline.TimeHandler, Pipeline" />
</handlers>
如果这不是您的问题,请提供更多信息:
- 您使用什么版本的IIS
- 您使用集成模式还是经典模式
- 请求是否会转移到您的处理程序?它是否运行应用程序_BeginRequest
- 您是否在IIS中安装了任何非标准ISAPI模块
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
这基本上是说:拒绝所有匿名(即未登录)用户的访问。从技术上讲,答案是正确的
在我的具体案例中,虚拟目录是一个虚拟应用程序,它有自己的管道和所有东西。所以我就删掉了,并将其添加为虚拟目录,这将按预期工作。
运行所有ManagedModules集合请求应该足够了
但是与模拟和其他应用程序开始请求和应用程序身份验证请求时无法获得的内容相结合executed@Sirl33tname您是否尝试添加授权配置I提到?否则,它将在不调用任何授权的情况下通过,因为默认设置是“允许所有人”。是的,我从一开始就在web.config中有这个设置。我已经编写了自己的处理程序,但如果我使用type=“Handler.PdfHandler,ProjektName”加载它们
我收到一个错误:无法加载文件或程序集“ProjektName”或其依赖项之一。系统找不到指定的文件。
@Sirl33tname如果您正在编写网站(而不是web项目),程序集名称可能会出错。尝试只使用短名称,而不使用程序集名称(即仅使用“Handler.PdfHandler”)。
<handlers>
<add name="SampleHandler" verb="*" path="*.pdf" type="Pipeline.TimeHandler, Pipeline" />
</handlers>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>