@@ -104,7 +104,8 @@ private string CreateAllAspxFiles()
104104 CodeBehindViews += " private string CallerViewDirectoryPath { get; set; } = \" \" ;" + Environment . NewLine ;
105105 CodeBehindViews += " private bool FoundPage { get; set; } = true;" + Environment . NewLine ;
106106 CodeBehindViews += " private bool FoundController { get; set; } = true;" + Environment . NewLine ;
107- CodeBehindViews += " private bool? IgnoreLayout { get; set; } = false;" + Environment . NewLine + Environment . NewLine ;
107+ CodeBehindViews += " private bool? IgnoreLayout { get; set; } = false;" + Environment . NewLine ;
108+ CodeBehindViews += " private string WebSocketId { get; set; } = \" \" ;" + Environment . NewLine + Environment . NewLine ;
108109
109110 CodeBehindOptions options = new CodeBehindOptions ( ) ;
110111
@@ -252,7 +253,7 @@ private string CreateAllAspxFiles()
252253 CodeBehindViews += " return SetPageLoadByFullPath(path, null, \" \" );" + Environment . NewLine ;
253254 CodeBehindViews += " }" + Environment . NewLine + Environment . NewLine ;
254255
255- CodeBehindViews += " public string RunController(HttpContext context, string ViewPath, object ModelClass, CodeBehind.HtmlData.NameValueCollection ViewData, string DownloadFilePath, bool? IgnoreLayout, string WebFormsValue)" + Environment . NewLine ;
256+ CodeBehindViews += " public string RunController(HttpContext context, string ViewPath, object ModelClass, CodeBehind.HtmlData.NameValueCollection ViewData, string DownloadFilePath, bool? IgnoreLayout, string WebFormsValue, string? WebSocketId )" + Environment . NewLine ;
256257 CodeBehindViews += " {" + Environment . NewLine ;
257258 CodeBehindViews += " if (!string.IsNullOrEmpty(DownloadFilePath))" + Environment . NewLine ;
258259 CodeBehindViews += " {" + Environment . NewLine ;
@@ -266,6 +267,9 @@ private string CreateAllAspxFiles()
266267 CodeBehindViews += " if (string.IsNullOrEmpty(ViewPath))" + Environment . NewLine ;
267268 CodeBehindViews += " return \" \" ;" + Environment . NewLine + Environment . NewLine ;
268269
270+ CodeBehindViews += " if (WebSocketId != null)" + Environment . NewLine ;
271+ CodeBehindViews += " this.WebSocketId = WebSocketId;" + Environment . NewLine + Environment . NewLine ;
272+
269273 CodeBehindViews += " if (ViewPath[0] == '>')" + Environment . NewLine ;
270274 CodeBehindViews += " {" + Environment . NewLine ;
271275 CodeBehindViews += " string TmpViewPath = ViewPath;" + Environment . NewLine ;
@@ -295,6 +299,16 @@ private string CreateAllAspxFiles()
295299 CodeBehindViews += " return FoundPage;" + Environment . NewLine ;
296300 CodeBehindViews += " }" + Environment . NewLine + Environment . NewLine ;
297301
302+ CodeBehindViews += " public void SetWebSocketId(string Id)" + Environment . NewLine ;
303+ CodeBehindViews += " {" + Environment . NewLine ;
304+ CodeBehindViews += " WebSocketId = Id;" + Environment . NewLine ;
305+ CodeBehindViews += " }" + Environment . NewLine + Environment . NewLine ;
306+
307+ CodeBehindViews += " public string GetWebSocketId()" + Environment . NewLine ;
308+ CodeBehindViews += " {" + Environment . NewLine ;
309+ CodeBehindViews += " return WebSocketId;" + Environment . NewLine ;
310+ CodeBehindViews += " }" + Environment . NewLine + Environment . NewLine ;
311+
298312 CodeBehindViews += " public bool ControllerHasFound()" + Environment . NewLine ;
299313 CodeBehindViews += " {" + Environment . NewLine ;
300314 CodeBehindViews += " return FoundController;" + Environment . NewLine ;
@@ -310,6 +324,57 @@ private string CreateAllAspxFiles()
310324 CodeBehindViews += " WebFormsValue += Forms.GetFormsActionData();" + Environment . NewLine ;
311325 CodeBehindViews += " }" + Environment . NewLine + Environment . NewLine ;
312326
327+ CodeBehindViews += " // WebSockets Broadcast" + Environment . NewLine ;
328+ CodeBehindViews += " public void Broadcast(HttpContext context, string Message, bool IgnoreThis = false)" + Environment . NewLine ;
329+ CodeBehindViews += " {" + Environment . NewLine ;
330+ CodeBehindViews += " CodeBehindMiddlewareExtensions.WebSocketsBroadcast(context, Message, \" \" , \" \" , \" \" , IgnoreThis);" + Environment . NewLine ;
331+ CodeBehindViews += " }" + Environment . NewLine + Environment . NewLine ;
332+
333+ CodeBehindViews += " public async void BroadcastAsync(HttpContext context, string Message, bool IgnoreThis = false)" + Environment . NewLine ;
334+ CodeBehindViews += " {" + Environment . NewLine ;
335+ CodeBehindViews += " await CodeBehindMiddlewareExtensions.WebSocketsBroadcastAsync(context, Message, \" \" , \" \" , \" \" , IgnoreThis);" + Environment . NewLine ;
336+ CodeBehindViews += " }" + Environment . NewLine + Environment . NewLine ;
337+
338+ CodeBehindViews += " public void Broadcast(HttpContext context, string Message, string RoleName, string Id, string ClientId, bool IgnoreThis = false)" + Environment . NewLine ;
339+ CodeBehindViews += " {" + Environment . NewLine ;
340+ CodeBehindViews += " CodeBehindMiddlewareExtensions.WebSocketsBroadcast(context, Message, RoleName, Id, ClientId, IgnoreThis);" + Environment . NewLine ;
341+ CodeBehindViews += " }" + Environment . NewLine + Environment . NewLine ;
342+
343+ CodeBehindViews += " public async void BroadcastAsync(HttpContext context, string Message, string RoleName, string Id, string ClientId, bool IgnoreThis = false)" + Environment . NewLine ;
344+ CodeBehindViews += " {" + Environment . NewLine ;
345+ CodeBehindViews += " await CodeBehindMiddlewareExtensions.WebSocketsBroadcastAsync(context, Message, RoleName, Id, ClientId, IgnoreThis);" + Environment . NewLine ;
346+ CodeBehindViews += " }" + Environment . NewLine + Environment . NewLine ;
347+
348+ CodeBehindViews += " public void BroadcastForRole(HttpContext context, string Message, string RoleName, bool IgnoreThis = false)" + Environment . NewLine ;
349+ CodeBehindViews += " {" + Environment . NewLine ;
350+ CodeBehindViews += " CodeBehindMiddlewareExtensions.WebSocketsBroadcast(context, Message, RoleName, \" \" , \" \" , IgnoreThis);" + Environment . NewLine ;
351+ CodeBehindViews += " }" + Environment . NewLine + Environment . NewLine ;
352+
353+ CodeBehindViews += " public async void BroadcastForRoleAsync(HttpContext context, string Message, string RoleName, bool IgnoreThis = false)" + Environment . NewLine ;
354+ CodeBehindViews += " {" + Environment . NewLine ;
355+ CodeBehindViews += " await CodeBehindMiddlewareExtensions.WebSocketsBroadcastAsync(context, Message, RoleName, \" \" , \" \" , IgnoreThis);" + Environment . NewLine ;
356+ CodeBehindViews += " }" + Environment . NewLine + Environment . NewLine ;
357+
358+ CodeBehindViews += " public void BroadcastForWebSocketId(HttpContext context, string Message, string Id, bool IgnoreThis = false)" + Environment . NewLine ;
359+ CodeBehindViews += " {" + Environment . NewLine ;
360+ CodeBehindViews += " CodeBehindMiddlewareExtensions.WebSocketsBroadcast(context, Message, \" \" , Id, \" \" , IgnoreThis);" + Environment . NewLine ;
361+ CodeBehindViews += " }" + Environment . NewLine + Environment . NewLine ;
362+
363+ CodeBehindViews += " public async void BroadcastForWebSocketIdAsync(HttpContext context, string Message, string Id, bool IgnoreThis = false)" + Environment . NewLine ;
364+ CodeBehindViews += " {" + Environment . NewLine ;
365+ CodeBehindViews += " await CodeBehindMiddlewareExtensions.WebSocketsBroadcastAsync(context, Message, \" \" , Id, \" \" , IgnoreThis);" + Environment . NewLine ;
366+ CodeBehindViews += " }" + Environment . NewLine + Environment . NewLine ;
367+
368+ CodeBehindViews += " public void BroadcastForClientId(HttpContext context, string Message, string ClientId, bool IgnoreThis = false)" + Environment . NewLine ;
369+ CodeBehindViews += " {" + Environment . NewLine ;
370+ CodeBehindViews += " CodeBehindMiddlewareExtensions.WebSocketsBroadcast(context, Message, \" \" , \" \" , ClientId, IgnoreThis);" + Environment . NewLine ;
371+ CodeBehindViews += " }" + Environment . NewLine + Environment . NewLine ;
372+
373+ CodeBehindViews += " public async void BroadcastForClientIdAsync(HttpContext context, string Message, string ClientId, bool IgnoreThis = false)" + Environment . NewLine ;
374+ CodeBehindViews += " {" + Environment . NewLine ;
375+ CodeBehindViews += " await CodeBehindMiddlewareExtensions.WebSocketsBroadcastAsync(context, Message, \" \" , \" \" , ClientId, IgnoreThis);" + Environment . NewLine ;
376+ CodeBehindViews += " }" + Environment . NewLine + Environment . NewLine ;
377+
313378 CodeBehindViews += " private void Download(HttpContext context, string FilePath)" + Environment . NewLine ;
314379 CodeBehindViews += " {" + Environment . NewLine ;
315380 CodeBehindViews += " long FileSize = new FileInfo(FilePath).Length;" + Environment . NewLine ;
@@ -542,7 +607,10 @@ private string FillAssemblyControllerCase(Assembly assembly, string EntryAssembl
542607 ReturnValue += " " + NameSpace + TmpClass . Name + " " + ClassName + " = new " + NameSpace + TmpClass . Name + "();" + Environment . NewLine ;
543608 ReturnValue += " " + ClassName + ".FillSection(context, \" /\" + ControllerClass);" + Environment . NewLine ;
544609 ReturnValue += " " + ClassName + ".PageLoad(context);" + Environment . NewLine ;
545- ReturnValue += " this.WebFormsValue += " + ClassName + ".WebFormsValue;" + Environment . NewLine ;
610+ ReturnValue += " this.WebFormsValue += " + ClassName + ".WebFormsValue;" + Environment . NewLine + Environment . NewLine ;
611+
612+ ReturnValue += " if (" + ClassName + ".WebSocketId != null)" + Environment . NewLine ;
613+ ReturnValue += " this.WebSocketId = " + ClassName + ".WebSocketId;" + Environment . NewLine ;
546614
547615 ReturnValue += Environment . NewLine ;
548616
@@ -559,7 +627,7 @@ private string FillAssemblyControllerCase(Assembly assembly, string EntryAssembl
559627 ReturnValue += " }" + Environment . NewLine ;
560628 ReturnValue += " else" + Environment . NewLine ;
561629 ReturnValue += " {" + Environment . NewLine ;
562- ReturnValue += " string ControllerReturnValue = " + ClassName + ".ResponseText + RunController(context, " + ClassName + ".ViewPath, " + ClassName + ".CodeBehindModel, " + ClassName + ".ViewData, " + ClassName + ".DownloadFilePath, " + ClassName + ".IgnoreLayout, " + ClassName + ".WebFormsValue);" + Environment . NewLine ;
630+ ReturnValue += " string ControllerReturnValue = " + ClassName + ".ResponseText + RunController(context, " + ClassName + ".ViewPath, " + ClassName + ".CodeBehindModel, " + ClassName + ".ViewData, " + ClassName + ".DownloadFilePath, " + ClassName + ".IgnoreLayout, " + ClassName + ".WebFormsValue, " + ClassName + ".WebSocketId );" + Environment . NewLine ;
563631 ReturnValue += " cache.SetControllerCache(\" " + TmpClass . Name + "\" + cbcc.CacheFilter, ControllerReturnValue, " + ControllerCache . Duration + ");" + Environment . NewLine ;
564632 ReturnValue += " return ControllerReturnValue;" + Environment . NewLine ;
565633 ReturnValue += " }" + Environment . NewLine ;
@@ -570,7 +638,7 @@ private string FillAssemblyControllerCase(Assembly assembly, string EntryAssembl
570638 ReturnValue += " if (" + ClassName + ".IgnoreViewAndModel)" + Environment . NewLine ;
571639 ReturnValue += " TmpViewPath = \" \" ;" + Environment . NewLine + Environment . NewLine ;
572640
573- ReturnValue += " return " + ClassName + ".ResponseText + RunController(context, TmpViewPath, " + ClassName + ".CodeBehindModel, " + ClassName + ".ViewData, " + ClassName + ".DownloadFilePath, " + ClassName + ".IgnoreLayout, " + ClassName + ".WebFormsValue);" + Environment . NewLine + Environment . NewLine ;
641+ ReturnValue += " return " + ClassName + ".ResponseText + RunController(context, TmpViewPath, " + ClassName + ".CodeBehindModel, " + ClassName + ".ViewData, " + ClassName + ".DownloadFilePath, " + ClassName + ".IgnoreLayout, " + ClassName + ".WebFormsValue, " + ClassName + ".WebSocketId );" + Environment . NewLine + Environment . NewLine ;
574642 }
575643
576644 ReturnValue += "/*{CaseCodeTemplateValueForControllerName}*/" + Environment . NewLine ;
0 commit comments