Sau khi triển khai các trang web của tôi để IIS, tôi nhận được thông báo lỗi sau khi cố gắng truy cập vào một phiên:Lỗi sử dụng phiên trong IIS 7
Session State chỉ có thể được sử dụng khi enableSessionState được thiết lập để đúng, hoặc trong tệp cấu hình hoặc trong chỉ thị Trang. cũng hãy chắn rằng System.Web.SessionStateModule hoặc một module trạng thái phiên tùy chỉnh là bao gồm trong phần \\ trong việc áp dụng cấu hình.
Tôi truy cập nó trong Page_Load
hoặc PreRender
sự kiện (Tôi đã thử cả hai phiên bản). Với Visual Studio Dev Server nó hoạt động mà không có một vấn đề. Tôi đã thử cả InProc
một quy trình lưu trữ SessionState
, 1 và nhiều công nhân. Tôi đã thêm một trang enableSessionState = "true"
vào trang web của mình một cách rõ ràng. Dưới đây là một phần của web.config
:
<system.web>
<globalization culture="ru-RU" uiCulture="ru-RU" />
<compilation debug="true" defaultLanguage="c#">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
</assemblies>
</compilation>
<pages enableEventValidation="false" enableSessionState="true">
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</controls>
</pages>
<httpHandlers>
<remove verb="*" path="*.asmx" />
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false" />
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="SearchUrlRewriter" type="Synonymizer.SearchUrlRewriter, Synonymizer, Version=1.0.0.0, Culture=neutral" />
<add name="Session" type="System.Web.SessionStateModule" />
</httpModules>
<sessionState cookieless="UseCookies" cookieName="My_SessionId" mode="InProc" stateNetworkTimeout="5" />
<customErrors mode="Off" />
</system.web>
gì khác tôi cần phải làm gì để làm cho nó hoạt động?
Tôi đã cố gắng theo dõi xem IIS có truy cập vào thư mục aspnet_client
với Process Monitor và không nhận được quyền truy cập nào không.
Bạn đã bao giờ giải quyết vấn đề này thành công chưa? Bạn vẫn cần trợ giúp với điều này? – jcolebrand