我想在TXT文件中使用ASP.Net指令。通常,我会为此添加一个处理程序映射器。但是如何在Azure App Service中做到这一点?添加以下处理程序(D:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
):
生成以下异常:
最可能的原因:
- IIS收到了 请求;但是,在处理过程中发生内部错误 请求。此错误的根本原因取决于哪个模块 处理请求以及工作进程中发生的情况 发生此错误。
- IIS无法访问 网站或应用程序的web.config文件。如果 NTFS权限设置不正确。
- IIS无法执行 网站或应用程序的流程配置。
- 经过身份验证的用户无权使用此DLL。
- 该请求已映射到托管处理程序,但.NET 未安装扩展功能。
可以做的事情 尝试:
- 确保对 web.config文件正确,并允许访问Web服务器的 机器帐户。
- 检查事件日志以查看是否存在 记录了其他信息。
- 验证权限
- 如果要安装DLL,请安装.NET扩展功能。 请求被映射到托管处理程序。
- 创建跟踪 规则以跟踪对此HTTP状态代码的失败请求。欲了解更多 有关为失败的请求创建跟踪规则的信息,请单击 here。
我认为这些建议无能为力。
那么在Azure App Services中将静态文件映射到ASP.Net管道的正确方法是什么?
答案 0 :(得分:0)
在Azure Web服务中,我们不必使用//........Calculating the difference........//
if(Math.abs(d1.getTime() - d2.getTime()) <= 600000) {
// execute your function
}
来使用ASP.Net管道,因为内置服务器是IIS。我们可以在下面的屏幕截图中看到,我将ASP.NET Core发布到Azure Web应用程序,并且我们可以在根文件夹下看到Date
,这意味着我的ASP.NET Core应用程序托管在IIS中。 (除了IIS,还有其他更好的服务器支持OWIN吗?)。
因此,如果您使用的是ASP.NET Core,并且想使用IIS管道,我认为这是不可能的,因为在这种情况下IIS只是反向代理服务器。您需要删除aspnet_isapi.dll
并修改Microsoft.Owin.Host.SystemWeb.dll
文件(我尝试并工作过),但这会导致ASP.NET Core应用程序崩溃。
如果您使用的是ASP.NET Framework或只是一个简单的静态Web,我们可以使用我们的代码和Microsoft.Owin.Host.SystemWeb.dll
来实现。