当前,我们在gac中注册了c#对象,我们使用它来输出html / string,该html / string用作Web应用程序的通用菜单。

gac注册对象的好处是我们可以更新gac对象,所有引用该对象的应用程序都可以非常高效地进行更新。 html菜单在公共位置引用了一些js和CSS资源。

C#对象确实基于服务器/环境等执行某些逻辑。

除了GAC对象外,是否还有其他替代品可以执行类似的功能。

我曾考虑过从另一个项目/控制器引用mvc视图,但是存在延迟问题(即,菜单在页面其余部分之后呈现)。我觉得当它作为页面的一部分呈现时效果最好。

其他想法/想法/选择?

最佳答案

我相信您可以使用web.config手动指示每个站点在公共位置查找特定的程序集:

http://msdn.microsoft.com/en-us/library/4191fzwb(v=vs.90).aspx

从文章:

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
       <dependentAssembly>
         <assemblyIdentity name="myAssembly"
                           publicKeyToken="32ab4ba45e0a69a1"
                           culture="en-us" />
         <codeBase version="2.0.0.0"
                   href="http://www.litwareinc.com/myAssembly.dll"/>
       </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>


另外,您可以设置“探​​测”以在整个目录中搜索您的公共库(同样来自本文):

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <probing privatePath="bin;bin2\subbin;bin3"/>
      </assemblyBinding>
   </runtime>
</configuration>

关于c# - GAC在MVC站点之间共享代码的替代方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23819689/

10-12 06:06