Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果字符串参数以文件扩展名结尾,则请求会话对象为空_C#_.net_Asp.net Mvc_Session_Action Filter - Fatal编程技术网

C# 如果字符串参数以文件扩展名结尾,则请求会话对象为空

C# 如果字符串参数以文件扩展名结尾,则请求会话对象为空,c#,.net,asp.net-mvc,session,action-filter,C#,.net,Asp.net Mvc,Session,Action Filter,我有一个操作,我的用户可以用它来加载文件。URL如下所示: http://mywebsite.lan/report/GetReport/reportname.xlsx 为了让服务器处理类似文件名的参数,我必须在我的web.config中添加此参数: <system.webServer> <modules> <remove name="UrlRoutingModule-4.0" /> <add name="UrlR

我有一个操作,我的用户可以用它来加载文件。URL如下所示:

http://mywebsite.lan/report/GetReport/reportname.xlsx
为了让服务器处理类似文件名的参数,我必须在我的
web.config
中添加此参数:

<system.webServer>
    <modules>
        <remove name="UrlRoutingModule-4.0" />
        <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
    </modules>
</system.webServer>
我似乎找不到这件事的根本原因


还有其他人遇到过这个问题吗?

我通过在web.config中添加以下行解决了类似的问题

 <modules>
  <remove name="Session"/>
  <add name="Session" type="System.Web.SessionState.SessionStateModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</modules>

我认为默认情况下,会话模块配置了“managedHandler”前置条件

默认情况下,.xlst不与托管处理程序关联,并且会话模块不为.xslt运行

当您在URL的末尾添加“/”时,我认为“Default Document”逻辑会在某处触发,默认文档可能是Default.aspx或类似的文件,它会打开会话模块。这纯粹是猜测,我没有证实

或者,您也可以在IIS->handler映射中将.xslt与托管处理程序(System.Web.UI.PageHandlerFactory)相关联。这可能会更好,因为我不喜欢会话模块现在在我们的网站上为每个请求触发的方式,但我没有尝试,因为在我们的例子中,没有定义的可关联的扩展

 <modules>
  <remove name="Session"/>
  <add name="Session" type="System.Web.SessionState.SessionStateModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</modules>