Azure应用服务:如何添加自定义处理程序映射以处理TXT文件?

时间:2018-08-14 23:02:46

标签: azure iis

我想在TXT文件中使用ASP.Net指令。通常,我会为此添加一个处理程序映射器。但是如何在Azure App Service中做到这一点?添加以下处理程序(D:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll): enter image description here

生成以下异常:

  最可能的原因:
  • IIS收到了   请求;但是,在处理过程中发生内部错误   请求。此错误的根本原因取决于哪个模块   处理请求以及工作进程中发生的情况   发生此错误。
  • IIS无法访问   网站或应用程序的web.config文件。如果   NTFS权限设置不正确。
  • IIS无法执行   网站或应用程序的流程配置。
  •   经过身份验证的用户无权使用此DLL。
  •     
  • 该请求已映射到托管处理程序,但.NET   未安装扩展功能。
     

可以做的事情   尝试:

  • 确保对   web.config文件正确,并允许访问Web服务器的   机器帐户。
  • 检查事件日志以查看是否存在   记录了其他信息。
  • 验证权限   
  • 如果要安装DLL,请安装.NET扩展功能。   请求被映射到托管处理程序。
  • 创建跟踪   规则以跟踪对此HTTP状态代码的失败请求。欲了解更多   有关为失败的请求创建跟踪规则的信息,请单击   here
  •   

我认为这些建议无能为力。

那么在Azure App Services中将静态文件映射到ASP.Net管道的正确方法是什么?

1 个答案:

答案 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来实现。

enter image description here