.net - IIS/Sharepoint GAC 上的 DLL 缓存问题

标签 .net sharepoint iis gac dll

我们有一些共享点站点,它们使用我们为自定义内容(包括身份验证和授权)开发的各种用户控件。在其中一个网站上,当管理员创建新用户时,它会创建一个具有最小长度字符数的密码,保存用户信息并向用户的电子邮件地址发送一封电子邮件。一切都很好,直到......公司刚刚颁布了一项新政策,即所有用户必须使用 10 个字符的最小长度密码,而不是之前的 8 个字符。该值位于静态类的程序集中,因此我们可以执行类似的操作

//Assembly 1 defines rules and logic

public static class AccountRules
{
    public static int PasswordMinimumLength = 10;
}


//Assembly 2 calls references Assembly 1

Status CreateUser(User u)
{
    if (u.Password == null)
    {
        u.Password = GeneratePassword();
    }

    return DAL.SaveUser(User);

}


string CreatePassword()
{
   string pass = "";
   for (int i = 0; i < AccountRules.PasswordMimimumLength; i++)
   {
      pass += RandomChar();
   }
}

我们更新了包含此常量的程序集,重建依赖站点并将控件发布到开发服务器。现在我创建了一个新帐户,它仍然是 8 个字符的密码!我用反射器检查了程序集,常数长度为 10。我从 GAC 中删除了该程序集,然后重新安装了新的程序集(最少 10 个字符),但仍然生成 8 个字符的密码。我们在 IIS 中重新启动了站点,但没有成功,共享点应用程序池、整个 IIS 实例、物理框和仍然是 8 个字符的密码。发生这种情况的 dll 可能缓存在哪里?我在这件事上抓狂了。预先感谢各位上帝般的专家的帮助。

最佳答案

您可以采取一些措施来帮助尝试追踪此问题。

  1. 确保它不会本地复制到应用程序的/bin 文件夹
  2. 使用Fusion Log Viewer查看实际绑定(bind)的内容

Fusion Log Viewer 很可能会满足您的需求。

关于.net - IIS/Sharepoint GAC 上的 DLL 缓存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3813602/

相关文章:

c# - Sharepoint.Utility 替换

svn - 将 Sharepoint 站点置于版本控制之下

Azure WebRole + Flask : AttributeError: 'module' object has no attribute 'wsgi_app'

iis - 如何通过 PowerShell 在 azure VM 上安装 ARR?

c# - 何时使用 .First 以及何时将 .FirstOrDefault 与 LINQ 一起使用?

.net - WPF 窗口对接

.net - 使用 WaitHandle.WaitAll 时是否可以对 ThreadPool 中的任务进行分组/隔离?

.net - 多列列表框

Sharepoint 2010 JQuery Ajax 不工作

apache - IIS 相当于 Apache 中的 VirtualHost