Kentico V8.2到V9.0升级缺失〜/ CMSPages / GetResource.ashx

时间:2015-12-30 22:45:43

标签: upgrade kentico

我最近在一个以前从别人那里交给我的网站上进行了我的第一次Kentico升级。最初有一些想法,但我不得不说V8.2到V9.0的升级已经取得了一定程度的成功。我正在处理最后一个问题。最初的问题是存储在数据库中的图像,但我通过设置自定义URL扩展解决了这个问题。我们在数据库中的样式表返回404,因此整个站点没有样式。

我做了一些挖掘,发现了以下内容:

  • 虽然我们在V8.2中使用〜/ CMSPages / GetCSS.aspx,但现在似乎已被弃用/废弃了一段时间。母版页中的CSS引用都指向〜/ CMSPages / GetCSS.aspx。
  • 在V8.2中,我可以确认是否存在〜/ CMSPages / GetResource.ashx,但在V9.0升级后似乎缺失了。我也安装了一个空白的模板网站来确认,它也不存在。我确认我使用的是最新的升级包。我已经遇到了12/15版之前的问题。
  • V8.2~ / CMSPages / GetResource.ashx无法在V9.0中作为CMS的API使用.UIControls不再包含ResourceHandler类(也在〜/ CMSPages / GetCSS.aspx中使用)。
  • 我可以在V8.2代码库中确认〜/ CMSPages / GetResource.ashx有效,返回指定的样式表。

TL; DR - 从V8.2升级到V9.0,我似乎缺少〜/ CMSPages / GetResource.ashx,我不知道它到底在哪里。

环境信息

测试服务器:IIS 7.5上的Windows Server 2008R2 SP1 w / .NET 4.5.2,MSSQL 2008R2数据库后端

Dev Server:带有IIS 8.5,VS 2015和MSSQL 2008R2的Windows 8.1 门户模式下的Kentico V8.2站点

我感谢您的任何想法。

谢谢!

3 个答案:

答案 0 :(得分:2)

大部分.ashx已移至CMS.UIControls大会,并已调整为实施IHttpHandler

这样,任何引用Kentico库的应用程序都可以使用处理程序,特别是UIControl。这种方法已被利用,例如,在new MVC support in Kentico 9

如果您需要自定义处理程序,则可以利用实现GetFileHandler的{​​{1}}和AdvancedGetFileHandler抽象类。

enter image description here

答案 1 :(得分:1)

在部署我的网站时,我在v8中收到了GetResource.ashx上的404。我将我的站点设置为Web应用程序。我的问题是我只使用Visual Studio部署CMSApp。我还需要部署CMSApp_AppCode。 https://docs.kentico.com/display/K81/Publishing+web+application+projects+from+Visual+Studio

当我从v8.2升级到v9时,我在GetResource.ashx上遇到了500错误。升级后我刚刚重新部署。我不知道问题是什么,但是得到错误,我清除了Azure服务器上的所有文件然后部署。这解决了我的错误。

这两项中的一项可能会对你有帮助。

答案 2 :(得分:0)

如果我正确阅读发行说明,他们会将文件移动到UIControls库,您仍然可以毫无问题地使用旧引用。我已将我的网站从8.0.48升级到9.0.1和9.0.4并且没有任何问题。事实上,我仍然使用/CMSPages/GetResource.ashx?scriptfile=/path/to/file.js我相信这一变化是专门为适应MVC模型而设的。