namespace StorageRoleMVC4.Controllers
{
public class SearchController : ApiController
{
public Dictionary<string, string> Get([FromUri] string searchString, [FromUri] string searchObject)
{
var searchHelper = new SearchStorageHelper();
var objectList = searchHelper.Retrieve(searchString, searchObject);
return objectList;
}
}
}
有没有关于此控制器的任何信息,一旦部署(Azure网络角色),它就无法访问?我尝试触及它时遇到404错误。它在本地模拟器上运行良好。
我已经部署了我的项目的最后2次,我的Web服务中的所有控制器都返回了404个错误几个小时,直到项目似乎自行修复。我不确定为什么,但它可能是相关的。
UPDATE 发布后,Web角色VM上的事件日志中存在警告: 属于站点'1273337584'的应用程序'/'具有无效的AppPoolId'ea7a2e15-9390-49e1-a16b-67ff1cdb7dcb'集。因此,应用程序将被忽略。
这是我网站的ID,但AppPoolId不正确。更改应用程序池会将404转换为502.
此外,发布后,万维网发布服务已关闭。当我打开它并执行IIS重置时,重置后它再次关闭。
当我重新启动Web角色VM时,大多数控制器再次工作,并且打开了World Wide Web Publishing服务。但是,这个SearchController仍然不起作用。或者自从这个问题开始发生以来我创建的任何其他新控制器。
答案 0 :(得分:1)
好吧,经过大量不成功的故障排除后,我只是回滚到早期版本的代码,发现它在部署时没有读取Web服务。所以我重新开始使用该版本并重新构建了delta。
这包括删除一些web.config条目并删除一些库,创建一些类并在global.asax中引用它们(我认为它就是这样)以覆盖te Authorize属性...
如果有人有更好的答案,我会将答案换成您发布的内容。