Hi Bjorn
Hi Alaa,
thank you for you response but CultureAndRegionInfoBuilder is not supported in .net core.
We also tried to clone CultureInfo and set all the format related properties like NumberFormat but WiseJ ignores this when setting Application.CurrentCulture and stays the old value. Even if it would work I would also count this as a work around.
In the dotnet world the UICulture and Culture are very important for any international company.
I understand that this might be a breaking change for WiseJ. Would this possible for WiseJ 4?
best regards
Bernhard
@David, the sample you mentioned uses a different timer: System.Timers.Timer.
Statics are single instance objects. When you create a timer object like System.Timers.Timer (it’s a system timer, see MSDN) as a static object it’s available to the application regardless of the scope of the code. This is not a Wisej.NET construct, it’s just statics in any system.
When the thread timer fires an event, it means that the OS calls the handlers attached to the event delegate. To call the handlers the OS creates a thread and simply starts calling all the handlers. If handler1 was attached from session A and handler2 was attached from session B that information is completely lost since the concept of session doesn’t exist in code. So, when the call arrives to handler1 (session A) Wisej.NET allows you to restore the context (session) using any control (controls in Wisej.NET save a reference to the session that owns them) so that the code can execute in the session context.
However, since the call is coming from an OS thread and there is no browser request obviously the server cannot send a response without a request. That’s when you need the websocket connection – to “push” the update out to the browser without the browser having requested it. Application.Update(IWisejComponent): it pushes out to the browser the entire current state differences. Whatever you use as an argument is an IWisejComponent that is used only to retrieve the session. You can also save an reference to Application.Current and use that one.
The example in this issue is different. It used a Wisej.Web.Timer, which is a component that is created on the server AND the browser and it fires the tick event from the browser. The request comes in, and the response goes back. No need to use Application.Update(). Unless, like in the issue, you also attached to the tick event from a different session – the different session doesn’t have a request to respond to because it was coming from the first browser. Which also means that when the first user closes the browser the javascript timer is terminated.
For the shared drawing, you have the same situation. If you create a javascript component it’s in the browser, you cannot share it with another browser. But you can share the set of data use for the drawing. In the sample you mentioned it’s List<Point> this.draw. Make is static, synchronize (lock) access, add a static event and an Application.Update() (actually in this case you don’t need this because the thread timer is already pushing the updates) when adding points and you have a shared drawing system.
See attached.
Hi Bernhard,
It’s best to create your own Culture.
You can check out the MSDN Documentation on how to create your own Culture!
The UI and Culture thread aren’t necessary for what you’re trying to do!
HTH,
Alaa
Hi Nicholas,
We have a similar control in Wisej.NET which is the TagTextBox.
The control can be extended to behave similarly to the TokenEditor.
HTH,
Alaa
Hi Bernhard,
Thank you for reaching out,
We’ll prepare a sample for you to demonstrate the navigation process in Wisej.NET!
But to not keep you hanging, you should be able to save the hash in a Cookie or LocalStorage and then retrieve it in an Application.ApplicationRefresh event.
Best,
Alaa
//
Hi Nicholas,
Can you please provide:
You can also check out our Deployment book for more info about deploying to Microsoft Azure.
Best,
Alaa
Hi Pablo,
Thank you for reaching out!
Can you please state which version of Wisej.NET you’re using?
Best,
Alaa
//
Luca, please amend the example Real Time Clock – Wisej.com to showcase Realtime drawing collaboration (whiteboarding) between browser instances.
This will assist with understanding of websocket/statics/crossthread invoke and what Application.Update(this) does.
Realtime Clock example changes required:
The multiuser draw cross browser functionality is missing due to the draw variable being a local rather than static (global) across browsers,
Add:
private static List<Point> draw = new List<Point>();
Remove this. prefix from all this.draw so they are to be just draw.xxx
for example:
private void label1_TouchEnd(object sender, TouchEventArgs e)
{
this.drawing = false;
draw.Add(Point.Empty);
}
Hi Alaa,
i have read this very carefully “guide to deploy ASP.NET Core apps on IIS.” but maybe there is on my side a misunderstanding.
where is the switch for “set up the App Pool to native.” ?
Regards
Manfred
Hi Manfred,
Looks like you didn’t set up the App Pool to native.
Please follow our guide to deploy ASP.NET Core apps on IIS.
Regards,
Alaa
Hi Alaa,
yes i have installed this Bundle.
Regards
Manfred
Hi Jay,
You’ll probably want to use the CellStyle.BackgroundImageAlign property.
Try this line:
e.CellStyle.BackgroundImageAlign = ContentAlignment.MiddleCenter;
It should work fine!
HTH,
Alaa
//
Thanks Vincenzo
Now I do some tests
Mario
Hi Vincent,
this is fixed in our latest release (3.1.6)
Best regards
Frank
The correct usage is:
this.imageList1.Images.Add(new ImageListEntry { Name = "myImage" ImageSource = "myImage" });
With Wisej.NET the ImageSource property is alternative to Image. Image is a System.Drawing.Image while ImageSource is a string. It takes a URL, a name of a themed image, a relative file path. See https://docs.wisej.com/docs/controls/general/icons#image-files.
You can put the code in your application. Write it or use the designer.
which place I put this statement? inside my class?
this.imageList1.Images.Add(new ImageListEntry
{
Name = "myImage"
ImageSource = Application.Theme.Images["myImage"]
});
Hi Sidney,
Attached a template for the JSON file.
If you want to register an EJ1 license, please follow the guide on Syncfusion’s Website.
HTH,
Alaa
//
Hi Julie!!
Thanks for your answer!
To illustrate, I attached to the example you sent me, a library, that I created, and referenced in the Wisej project. The Wisej project runtime takes place in the net4.8 environment and I don’t know how to get around it. See in the attached example that the application does not recognize the net6.0 runtime.
I know I’m doing something wrong but I don’t know what it is, since in the example the EntityFramework 6.0 packages were attached to the 6.0 runtime and it worked, but with my library it doesn’t work.
Thanks!