所以我的公司有一个ASP.NET Web应用程序,面向.NET 3.5。我的任务是为他们建立一个票务系统。我不需要使用公司应用程序的任何资源,除了身份验证。我想针对.NET 4.0并使用像实体框架和mvc 3.0这样的4.0好东西。如果我创建一个嵌套在IIS中的主Web应用程序中的.net 4应用程序,是否有办法保持身份验证,以便他们不需要在4.0 Web应用程序中使用不同的会话?
如果我不清楚,请告诉我。
谢谢。
答案 0 :(得分:4)
如果使用成员身份验证,则可以在不同的Web应用程序之间共享会话,前提是:
他们都共用同一台机器
键 - 您可以设置machineKey
显式地在每个web.config中
相同的价值。
您使用的是相同的
认证cookie名称(即
默认为.ASPXAUTH
)
可能还有其他方法,但这就是我开始工作的方式。
答案 1 :(得分:0)
如果主IIS应用程序中的子文件夹本身不是应用程序,它将被加载到父IIS应用程序的AppDomain中,这将确保在应用程序之间共享会话状态。如果它是自己的IIS应用程序,它将拥有自己的AppDomain并且是一个单独运行的应用程序。
如果它与父IIS应用程序共享相同的AppDomain,则必须小心部署二进制文件的位置。如果未添加专用bin路径以进行程序集解析,则所有程序集都必须位于根/bin
中。但这会增加主应用程序在您的附加子文件夹中查找程序集的风险,而不应该查看它。