Hi Stephan,
if you’re running on IIS, security is typically handled through Application Pool Identities.
This article should get you started and also show which security settings to choose for the file/folder:
https://learn.microsoft.com/en-us/iis/manage/configuring-security/application-pool-identities
Best regards
Frank
I tried with Wisej 3.5.6 and with the most recent version (3.5.7-preview.2) and I cannot reproduce.
Can you provide a sample and instructions on how you are running it? It works fine for me when I run on Windows using devtunnels (This video basically shows how I set up the project: https://docs.wisej.com/hybrid/development/remote-application)
Hi Per,
please contact us at supportATwisej.com with your developer and server license keys and we’ll check.
Best regards
Frank
Hi Gabriel,
can you please try deploying to a new folder? Basically deploying a Wisej.NET application is very similar to deploying an ASP.NET Core application.
You might find some more pointers here:
https://docs.wisej.com/deployment/targets/iis
Best regards
Frank
Hi and thanks for your answer.
Unfortunately still not working.
Apparently it has something to do with having a previous version of the app not using .NET core on the root of IIS conflicting somehow with the .net core version in a subdirectory. The idea is to test the new version in the server before replacing the one current in production in the root.
I don´t know if this may be the cause, but apparently both version of the apps are sharing the same C:\Windows\Temp\Wisej 3\Applications\myurl.com-443 folder, despite the .net core being in a subfolder. I tried stopping the production app pool, deleting the temp folder and accessing the .net core app. The temp folder regenerates but without wisej.css, wisej-ext.css and wise.js files appearing on it.
Any other ideas I may try?
Thanks
Here are a few things you can try:
1. Since you know that the app runs on another machine, I would recommend checking your IIS settings to see if they are the same on both computers.
Go to the windows Search bar-> type “features” ->choose “turn windows features on or off” -> Expand the “Internet Information Services” box -> Check the settings on both computers and see if any are different
2.Check which folder you are directing IIS to. Make sure that it is the folder containing the Web.config file. Also double-check the Web.config file against the Web.config file from a new Wisej project to see if there are any changes made that might be causing issues.
3. Make sure that the folder that IIS is directed to has the correct permissions set.
In File Explorer, navigate to the file/folder that you are trying to run with IIS.
Repeat these steps for IUSER instead of IIS_USERS
If none of these work, please upload a small sample project and we will see if we can reproduce.
Hope this helps!
-Julie
Finally i got the answer.
<appSettings><add key=”program.servername” value=”localhost”/></appSettings></configuration>
base on this link
I’ll give the show/hide anchors a try. Thank you.
Tim
Hi Tim,
we’re currently not aware of any generic issues with the responsive properties.
One thing to keep in mind is that the Anchor property itself is also responsive, i.e. is remembered for each profile.
What happened to me in the past is that I accidentally changed some anchor settings while moving around elements.
You can turn off the little anchoring helpers from the Wisej.NET designer toolbar to avoid this:
Apart from this a sample of what you’re trying to achieve and where it fails would be of great help to further track down that issue and see if there is something to fix or improve on our end.
Best regards
Frank
This isn’t a Wisej specific issue- .NET Core doesn’t support web.config.
Wisej.NET reads its own settings using the ConfigurationManager class.
Configuration Manager documentation: https://learn.microsoft.com/en-us/dotnet/api/system.configuration.configurationmanager?view=net-8.0
So, there are two things you need to do here:
1. Detect that the client quit
There is absolutely no way to specifically detect a browser being closed in javascript. Closing the browser tab, closing the entire browser, navigating away, or shutting down the computer are identical operations as far as the server is concerned. However, I would say all of these fall under “the client quit”, so it should work just fine.
You can detect when the client quits by attaching an event handler to the ApplicationExit event.
Note that ApplicationExit will fire when the session expires, which will happen after sessionTimeout * 2 (in default.json). If you have a high session timeout then it may take long before the session expires.
I’ve attached a sample using Wisej that creates a file (log.txt) when the ApplicationExit event fires. (Note that the sample uses Wisej, but you can also use ApplicationExit in PPJ Web). Also note that if you run the sample from Visual Studio it won’t work. The ApplicationExit event fires when you close the browser. But when running via Visual Studio, the program stops running when you close the browser and thus the code in the ApplicationExit event handler does not run. If you deploy the test application to a server (for example, IIS) then you will notice that the log file is generated shortly after the browser is closed. The server continues running after the browser is closed and that’s how it’s able to run the code in the ApplicationExit event handler. In the sample, I’ve set the session timeout to 2 seconds (via default.json), so the log file will be generated pretty quickly.
You may also find it helpful to read the documentation on session management: https://docs.wisej.com/docs/concepts/session-management
2. Run some code to abort the printing procedure.
In your case, you don’t want to create a text file on ApplicationExit, you want to abort a printing procedure.
To figure that out, you’ll need to refer to the Crystal Reports documentation, as that’s a third party software not developed by us: https://help.sap.com/docs/SAP_CRYSTAL_REPORTS
As Stimulsoft is a third-party software that we don’t develop, you’ll have to explore their documentation for more guidance on that specific part. https://www.stimulsoft.com/en/documentation
Looks like Stimulsoft does have some YouTube tutorials, I would start there: https://www.youtube.com/user/stimulsoftvideos
Steps:
1.Follow the Stimulsoft tutorials/documentation, up to generating a PDF of the report.
2. Display the PDF in Wisej using the PDFViewer. You have some options:
2a. Render the report to a pdf file. Display the pdf file in the PDFViewer, assigning it via the variable PdfSource. If you look at the demobrowser code this is the method that is used.
The code looks like this: pdfViewer1.PdfSource = "Files/Wisej.pdf";
2b. Render the report to a stream and assign the stream to pdfViewer.PdfStream
Relevant Wisej samples+ documentation:
PDFViewer documentation: https://docs.wisej.com/api/wisej.web/content/pdfviewer
You can see an example of the PDFViewer in the demobrowser here: https://wisej-demobrowser.azurewebsites.net/#Containers/PdfViewer/Features
The entire code of the demobrowser is on github. Here is the PDFViewer demo part of the code. Look at the file Features.cs specifically (both look at it in the designer and look at the code): https://github.com/iceteagroup/wisej-demobrowser/tree/main/Demos/Containers/Wisej.DemoBrowser.PdfViewer
-Julie
Dear Frank,
In fact, I use the same version of Wisej. If I open a project, close it, then call it again, an error appears on the designer page, so I have to close Visual Studio, then call it again, so the error doesn’t appear, so according to this it is very annoying if I call another project (same version of Wisej) will always show this same error too.
Hi Lautop,
do both Solutions use the exact same Wisej.NET versions? If not, you need to close all Visual Studio instances before opening your other solution, otherwise it might be holding some shadow references of assemblies that interfer with the designer.
Best regards
Frank
If you can do it in ChartJS via JavaScript, then you can do it in Wisej. So it should be possible.
As for what javascript to write, check out this StackOverflow post: https://stackoverflow.com/questions/25880767/chart-js-number-format
Note that some of the examples have you set the “options” of the ChartJS widget. You can read the Wisej documentation on widget options here: https://docs.wisej.com/api/wisej.web/content/widget#options
Other useful Wisej documentation:
https://docs.wisej.com/docs/concepts/javascript
https://docs.wisej.com/docs/controls/content/widget
You also mention setting the locale. You can try the ToLocaleString() method: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString
Here’s an example of using ToLocaleString with the Eval function. (Eval lets you call javascript code from C#. In this case, the javascript code is var x= 123456.789; x.toLocaleString('en-US');
)
Application.Eval("var x= 123456.789; x.toLocaleString('en-US');", (r) => { AlertBox.Show(r.ToString()); });
And here’s an example with EvalAsync:
var result = await Application.EvalAsync("var x= 123456.789; x.toLocaleString('en-US');");
AlertBox.Show(result);
I’m (the application is) actually printing (to pdf and then zipping and then downloading) about 2000 reports. I would like, after each report, to ensure the client did not quit and printing the next one only in this condition. Can the client update a token on the server each x seconds (via javascript ?) so that the server could test the existence of it and abort the long printing operation if not ?
TIA
Mirko
Thank you, Frank. I’ll wait for your fix.
In the meanwhile, I thought about creating a new appearance, let’s say “invalidUpload” and set the AppearanceKey = “invalidUpload” when upload1.Value == null.
Since you started playing with the upload control, may I suggest a Label property for it? In a sense it is an input control…
Best,
Alex
We do not have a VS extension supporting Python.
However, Wisej supports all .NET languages, which includes Python, so you can code your Wisej application in Python if you want. The designer only supports C# and VB.NET (technically we have a version for COBOL and F# as well)- so you won’t be able to use the designer if you code your application in Python.
You would need to use IronPython which uses managed code. IronPython generates IL code, which the .NET runtime translates to native code and then executes. https://ironpython.net/
Another option would be to use an interop like Python.NET, which allows you to call Python code from C# and C# code from Python: https://pythonnet.github.io/
For more information on managed code (IronPython) vs interop (Python.NET), read this: https://learn.microsoft.com/en-us/dotnet/standard/managed-code
-Julie
Hi Alex,
you actually uncovered 2 issues that we are now working on:
Both issues will be fixed for the 3.5.7 release.
I’ll keep you updated.
Best regards
Frank
Hi Francesco,
you’re getting the filename(s) in e.Files of the Uploaded Event.
Sample
https://github.com/iceteagroup/wisej-examples/tree/3.5/UploadFiles
Documentation
https://docs.wisej.com/api/wisej.web/content/upload
Best regards
Frank