1、问题描述:
系统S中有M1,M2,M3,M4四个模块,每个模块都是一个web应用。其中一个模块中设置Session后在其他模块中无法读取。
2、问题原因:
一个WEB应用相当于一个站点,应用与应用之间不可能共享Session.
3、解决方法:
1) 将四个web应用包含在同一个解决方案中
(注:调整。webinfo文件使解决方案能构正常运行)
2) 新建一个web应用Main,该web应用包含在解决方案S中,并直接存放在S目录下(即与虚拟目录S相对应)。
3) 在Main应用中添加其他四个应用的引用
4) 重新生成Main应用,此时,与Main模块相关的M1、M2、M3、M4四个模块的dll将生成于S\bin目录下。
5) 调整web.config文件
删除M1、M2、M3、M4四个模块web.config中除AppSetting节以外的所有节。(也可删除四个模块中的web.config,只保留S目录下的web.config文件。)
以下操作将影响开发环境
6) 删除goble.acax
删除M1、M2、M3、M4四个模块中的goble.acax文件。
7) 删除M1、M2、M3、M4四个模块对应的虚拟目录
8)大功告成ame"> <ItemTemplate> <asp:TextBox id=Last runat="server" Width="109px" Text='<%# DataBinder.Eval(Container, "DataItem.LastName") %>'> </asp:TextBox> </ItemTemplate> <FooterTemplate> <asp:TextBox id="NewLast" runat="server" Width="109px"></asp:TextBox> </FooterTemplate> </asp:TemplateColumn> <asp:TemplateColumn SortExpression="Email" HeaderText="Email"> <ItemTemplate> <asp:TextBox id=Email runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Email") %>'> </asp:TextBox> </ItemTemplate> <FooterTemplate> <asp:TextBox id="NewEmail" runat="server"></asp:TextBox> </FooterTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="Delete Contact"> <ItemStyle HorizontalAlign="Center"></ItemStyle> <ItemTemplate> <asp:CheckBox Runat="server" ID="chkDelete"></asp:CheckBox> </ItemTemplate> <FooterStyle HorizontalAlign="Center"></FooterStyle> <FooterTemplate> <asp:LinkButton Runat="server" Text="Add" CommandName="Add" ID="Linkbutton1" NAME="Linkbutton1"></asp:LinkButton> <