@@ -81,6 +81,7 @@ public CmsContext(ICompatibleHttpContext httpCtx)
81
81
//是否为虚拟目录运行
82
82
if ( ( SiteRunType ) CurrentSite . RunType == SiteRunType . VirtualDirectory )
83
83
_isVirtualDirectoryRunning = true ;
84
+ this . _containCookie = _context . Request . GetHeader ( "Cookie" ) != null ;
84
85
}
85
86
86
87
/// <summary>
@@ -118,13 +119,16 @@ public Languages UserLanguage
118
119
{
119
120
if ( this . _userLanguage == Languages . Unknown )
120
121
{
121
-
122
- this . _userLanguage = this . GetUserLangSetFromCookie ( ) ;
123
- if ( this . _userLanguage == Languages . Unknown )
122
+ if ( this . _containCookie )
124
123
{
125
- this . _userLanguage = CurrentSite . Language ;
126
- //SetSessionLangSet((int)this._userLanguage);
124
+ this . _userLanguage = this . GetUserLangSetFromCookie ( ) ;
125
+ if ( this . _userLanguage == Languages . Unknown )
126
+ {
127
+ this . _userLanguage = CurrentSite . Language ;
128
+ //SetSessionLangSet((int)this._userLanguage);
129
+ }
127
130
}
131
+ this . _userLanguage = CurrentSite . Language ;
128
132
}
129
133
return this . _userLanguage ;
130
134
}
@@ -136,6 +140,8 @@ public Languages UserLanguage
136
140
/// <returns></returns>
137
141
private Languages GetUserLangSetFromCookie ( )
138
142
{
143
+ var s = this . _context . Request . GetHeader ( "Cookie" ) ;
144
+
139
145
// var s = _context.Session.GetInt32("user.lang.set");
140
146
// if (s > 0) return (Languages)s;
141
147
@@ -227,10 +233,13 @@ private DeviceType GetUserDeviceSet()
227
233
// {
228
234
// return (DeviceType) Convert.ToInt32(s);
229
235
// }
230
- this . _context . Request . TryGetCookie ( UserDeviceCookieName , out var ck ) ;
231
- if ( ! String . IsNullOrEmpty ( ck ) )
236
+ if ( this . _containCookie )
232
237
{
233
- if ( Enum . TryParse < DeviceType > ( ck , out var device ) ) return device ;
238
+ this . _context . Request . TryGetCookie ( UserDeviceCookieName , out var ck ) ;
239
+ if ( ! String . IsNullOrEmpty ( ck ) )
240
+ {
241
+ if ( Enum . TryParse < DeviceType > ( ck , out var device ) ) return device ;
242
+ }
234
243
}
235
244
//如果包含手机的域名或agent
236
245
var host = this . _context . Request . GetHost ( ) ;
@@ -268,7 +277,8 @@ private void SetSessionUserDeviceSet(int deviceType)
268
277
private Languages _userLanguage ;
269
278
private DeviceType ? _userDevice ;
270
279
private string _proto ;
271
-
280
+ private bool _containCookie = false ;
281
+
272
282
/// <summary>
273
283
/// 系统应用程序目录
274
284
/// </summary>
@@ -498,7 +508,6 @@ public void RenderNotfound(string message, TemplatePageHandler handler)
498
508
{
499
509
html = "File not found!" ;
500
510
}
501
-
502
511
this . _context . Response . StatusCode ( 404 ) ;
503
512
this . _context . Response . WriteAsync ( html ) ;
504
513
}
0 commit comments