当前,我们在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/