我有一个使用https(SSL)的asp.net应用程序.这在我的本地计算机和Amazon AWS(生产环境)中运行良好.
但是当我在办公室托管这个应用程序(用于测试)时,会发生一些奇怪的事情
我可以在浏览器中看到https和锁定标志.
Fiddler还显示输出已加密并显示端口443.
但是HttpContext.Current.Request.IsSecureConnection
返回错误
并HttpContext.Current.Request.Url.Scheme
返回http.
在办公室,我们使用的是Juniper SSG防火墙和TMG 2010(Forefront Threat Management Gateway 2010).因此服务器通过Juniper和TMG 2010接收请求.提前感谢.
我试图让一个网站减少会话.所以添加 <sessionState mode="Off" />
到我的web.config.之后如果我执行
Session["test"] = "yes";
Run Code Online (Sandbox Code Playgroud)
我收到错误" 对象引用未设置为对象的实例." 这可以.
但是通过这种配置,我可以设置
TempData["test"] = "yes";
Run Code Online (Sandbox Code Playgroud)
在控制器中并TempData["test"];
在View页面中打印.它运作良好.
根据MSDN "TempData属性值存储在会话状态".
那么如果我提一下<sessionState mode="Off" />
TempData是如何工作的呢?ASP.NET仍然在会话或其他地方存储TempData吗?
我有双重价值.我希望将它存储在带有E表示法的String中(在J2ME中)
例
双倍价值6.887578324E9想要显示为6887578342
平台C#,Dot net 4.0
var city0 = DataCache.GetAllCities().Where(c => c.GeoName.Contains("Dubai")).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
变量Duabi存在于数据中,它返回城市对象
var city1 = DataCache.GetAllCities().Where(c => c.CityID== 23804982) .FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
数据中不存在id 23804982,这将返回null对象
var city2 = DataCache.GetAllCities().Where(c => c.GeoName.Contains("WrongCityName")).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
变量WrongCityName 在数据中不存在,这将返回以下错误.
你调用的对象是空的.
[编辑]我在上次执行查询时收到错误.不是在我评估city2时