Jan*_*ard 9 asp.net resources web-applications visual-studio-2008
我有三个Web应用程序项目共享一个公共自定义服务器控件库.共享文件背后的代码很简单 - 它们被编译成一个dll,我使用项目引用在其他项目中引用它.但是我如何处理JavaScript,样式表和图像等文件?我试图这样做"Visual Studio方式",以便尽可能简单地理解和调试.
目前的设置有点像这样:
CommonControlsWebApp +- CustomControls +- resources +- images +- scripts +- stylesheets WebApp1 +- resources* WebApp2 +- resources* WebApp3 +- resources*
*)IIS中的虚拟目录.
每个Web应用程序上的虚拟目录都指向CommonControlsWebApp中的资源目录.这是在IIS中配置的.Visual Studio无法理解此链接,因此调试需要我手动附加到IIS进程.
另一种解决方案可能是使用WebResourceAttribute包含公共dll中的每个资源.但是src当我查看我的网页来源时,这会将链接转换为WebResource.axd?d = GUID,而我担心这会让调试变得非常混乱.
第三种解决方案是使用Subversion在所有三种解决方案中包含相同的文件.团队中没有人以前尝试过这个,所以我们不确定这会有多好.
我觉得我错过了一些关于如何设置项目的明显的解决方案.有什么建议?
许多控件开发人员使用您描述的第二种方法捆绑他们的 Web 资源 - 将它们作为嵌入资源添加到 .dll 中。通过这种方式,您可以分发控件,而无需将一堆文件夹和文件复制到想要使用它们的每个网站,并确保文件夹路径全部匹配等。您还可以获得更轻松的本地化/国际化的优势你的资源。
然而,WebResource.axd 是一个缺点。您通常可以使用 Firebug 之类的工具“调试”URL,以查看请求实际返回的内容,但我同意,如果某些内容无法正常工作,这可能会很痛苦。另一个缺点是,如果一个服务器控件有数十个资源,特别是如果每个资源都被多次引用(想象一下节点上有数百个小图像的树视图),那么 URL 可能会向最终结果添加大量实际字节。 HTML 输出。
如果您的分发/本地化需求超过了优化/调试需求,我会考虑嵌入资源。
如果没有,那么您绝对可以执行#3 - 使用 Subversion 将所有内容复制到您的网站中。查看SVN 外部以了解如何设置它。现在投入一点时间学习它可能会为您节省大量时间!
| 归档时间: |
|
| 查看次数: |
3371 次 |
| 最近记录: |