Asp.net mvc 3 从webrole接收MVC控制器中的数据
我了解如何在MVC架构中在Web、工作人员角色和流程之间进行通信 我的问题是,在我以web角色从表中查询数据之后,MVC中的控制器如何将这些数据放到视图中 我尝试在webrole中使用全局静态变量,在其中填充数据,但当我从控制器访问静态变量时,它只返回“null”。为什么我会得到一个空值Asp.net mvc 3 从webrole接收MVC控制器中的数据,asp.net-mvc-3,model-view-controller,azure,azure-web-roles,Asp.net Mvc 3,Model View Controller,Azure,Azure Web Roles,我了解如何在MVC架构中在Web、工作人员角色和流程之间进行通信 我的问题是,在我以web角色从表中查询数据之后,MVC中的控制器如何将这些数据放到视图中 我尝试在webrole中使用全局静态变量,在其中填充数据,但当我从控制器访问静态变量时,它只返回“null”。为什么我会得到一个空值 谢谢。我们讨论的是一个应用程序,它的MVC部分托管在一个工作者角色中,并从查询表存储的web角色获取数据?或者我们在这里讨论的是一个ASP.NET MVC应用程序,它托管在一个web角色中 由于并发性问题,静态
谢谢。我们讨论的是一个应用程序,它的MVC部分托管在一个工作者角色中,并从查询表存储的web角色获取数据?或者我们在这里讨论的是一个ASP.NET MVC应用程序,它托管在一个web角色中 由于并发性问题,静态变量根本不是一个好主意 在场景1中,您如何与web角色通信?直接通过web服务调用 您只需从控制器调用服务或将调用委托给另一层,然后将此数据放入模型中,然后由相应的视图显示 您是否尝试过使用[azure local dev env][1]在本地调试此应用程序 [1] :?或者您是否使用真正的azure基础架构?您确定要从查询中获取数据吗?也许这个问题是错误的?您是否观察到任何例外情况
我们需要更多信息来帮助您好的,如果您使用存储客户端,实现如下:
}RowKey = string.Format("{0:10}_{1}", DateTime.MaxValue.Ticks - DateTime.Now.Ticks, Guid.NewGuid()); } // Define the properties. public string Title { get; set; } public string Name { get; set; } }
这只是参考代码,非常难看,很难正常工作,但它仍然提供了一个示例,说明如何在MVC项目中查询表存储 我正在实现第二个场景,ASP.NETMVC部分托管在Web角色中。webrole从表存储中查询数据。我在debug中检查了它,是的,我能够查询并获得正确的数据。嗨,数据读取部分是在Webrole中为我的应用程序在Run()函数中完成的。如果我在ASP.net MVC的控制器中实现数据读取部分,webrole将做什么?我的第二个问题是,我必须每10秒查询一次表以获取最新数据。如何从控制器执行此操作?谢谢,我不太清楚你所说的Run()函数是什么意思。Web角色是Web应用程序的一种托管环境。您可以将以Web角色托管Web应用视为将Web应用部署到虚拟机的IIS中。Microsoft正在为您执行托管部分。因此,您的Web应用程序正在Web角色内部运行,这就是Web角色所做的。关于第二个问题:例如,您可以在视图中实现一个JavaScript函数,并每10秒异步调用一次控制器。 public ActionResult Index() { var context = new MyDataContext(storageAccount.TableEndpoint.AbsoluteUri, storageAccount.Credentials); var results = from g in context.GetMyEntity where g.PartitionKey == DateTime.UtcNow.ToString("MMddyyyy") select g; return View(results.FirstOrDefault()); }