在Web服务中,会话超时更改值不起作用

时间:2012-11-02 08:10:01

标签: c# asp.net web-services

Web服务中的会话超时无法获得异常

[WebMethod(EnableSession = true)]
public void resetsession()
{
  Session.Timeout = 1000;
}
Request format is unrecognized for URL unexpectedly ending in '/resetsession'.

任何人都可以研究这个问题吗?

1 个答案:

答案 0 :(得分:1)

我不知道你正在使用什么.NET版本,但我记得很久以前有这个问题,所以也许你的HTTP GET and HTTP POST is disabled

然后解决方案是将此添加到您的web.config:

<configuration>
    <system.web>
    <webServices>
        <protocols>
            <add name="HttpGet"/>
            <add name="HttpPost"/>
        </protocols>
    </webServices>
    </system.web>
</configuration>

也许你在web.config中也需要这个:

<system.webServer>
  <handlers>
    <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  </handlers>
</system.webServer>

找到this article并提供更多信息。