【发布时间】:2016-07-11 15:47:50
【问题描述】:
我有一个基础 web ui 项目,我还有其他“插件”项目,它们只是其他 mvc web 应用程序。
我从它们那里获取 dll 和视图,并将它们扔到我的主 web ui 的 bin 和视图文件夹中,以便可以随时添加或删除它们。
每个“插件”都包含一个 GET 方法,该方法从主 Web ui 调用以从每个“插件”加载菜单选项。
调用每个 URL 后,主 web ui 触发 `Session_Start'
menu.Append(HelperMethods.GetModuleMenuHTML(controller, SecurityController.CurrentDomain()));
public static string GetModuleMenuHTML(string controllerName, string currentDomain)
{
string html = string.Empty;
try
{
//THIS LINE HERE IS CAUSING Session_Start to fire again
//IN THE MAIN WEB UI
html = new WebClient().DownloadString(string.Format("{0}/{1}/GetMenu", currentDomain, controllerName));
}
catch (Exception ex)
{
}
return html;
}
在调用 html = new WebClient().DownloadString(string.Format("{0}/{1}/GetMenu", currentDomain, controllerName)); 时导致 Session_Start 触发的原因是什么?如何防止这种情况发生?
这是否与我只是将另一个项目中的 dll 和视图作为“插件”(但它正确加载到我的 UI)中的 dll 和视图直接放入主 web ui 项目中,以便轻松添加和删除?
【问题讨论】:
标签: c# asp.net-mvc