C# Developing a Desktop Session Timer - c#

I would like to get some suggestions for a project i am working on. Currently I have 12 computers joined to an AD domain using the same user to login to Windows 10 computers. I am trying to develop an app that will present a message and then log off the user at specified time. I actually have developed that app and for the most part it works. It even has the ability to allow an admin user to come over and change the time remaining. A new requirement has me a little stumped. The admin would like to login to a central computer and monitor the times of the 12 computers and be able to change the time from a central interface. So I am banging my head trying to brainstorm ideas. I decided to ask for help. Here is what I have come up with.
Client/Server App development. (would have to learn)
SQL table. Desktop app updates and pulls data (I would think that would be a lot of unnecessary traffic. Would have to determine how often that app Push/Pulls the data.
Update a local data file and have the Central Management push/pull to that file. Same idea as SQL?
Use a 3rd party app. (Costs and I also like to have flexibility and control)
Any suggestions would be great. I have no problem learning something new however this has unfortunately become a priority request so time management is important. For the most part I am looking for suggestions.
Thank you very much for your time. This is honestly my first "question post".

Related

Excluding Mobile UI from look script, Unity

While building for mobile and PC I've run into issues implementing look scripts that don't interact with UI elements such as a mobile joystick. They created a new input system to manage this and every tutorial seems to have parts of this but never includes other parts that I need. Like perfectly showcases controls but no look script, or has both perfectly but doesn't work with the new input system.
This has been a nightmare, I am not a professional coder, I don't claim to know anything and I have tried reaching out on C# Discord without even being noticed for 2 weeks so I just left. Hopefully someone comes across this some day and sends help.
I will update this if I find a way through it. Thanks everyone.

Universal Windows App - Storing and Updating Data for multiple users

I would like to be able to record some information about a specific user locally within my Universal Windows App, How would I go about doing this in such a way I can query the data after a period of time and pull back results? I have seen that this is possible using SQLite, is there any other technologies that could achieve this.
I would then also like to store some generic data such as click information on a database which would be updated by all users of the application.
Thanks for any help.
I think SQLite would be a great way to do it. However, if the data is simple enough, you can just store them using files. Use ApplicationData.Current.LocalFolder to access files specific for the user (or RoamingFolder, if you want this data to automatically roam between devices), and ApplicationData.Current.SharedLocalFolder to store data for all users on the device.
If you're going for things like click information,navigation and other usage data, I strongly suggest that you look into Application Insights. This is a very simple library that you more or less can just right-click to add to your project in Visual Studio. It will give you all sorts of telemetry right out of the box for your UWP apps, WebApps, and even Android/iOS apps. Think of it as the UWP version of Google Analytics, only so much better :)
You generally do nearly nothing other than to just configure it with an ID, but if you want to, you can track all sorts of custom events, and not worry about how to store them. Internally, Application Insights will send telemetry to Azure when it can. When it can't, it doesen't.
Here's the getting started page:
https://azure.microsoft.com/en-us/services/application-insights/

How to Grab Amtrak Scheduled/Estimated Data for a Given Train/Station?

Due to the nature of my commuter Amtrak train back home being late 10-20 minutes late the past few days, I want to develop a Windows 8 Metro/Desktop app that will notify someone given a train number and station what the status of the train is at a specified time so they know if they can clock in a few more minutes at work or not. Even though I've never done Windows 8 app dev (although I have done some dev in C#), toast notifications are well documented (http://code.msdn.microsoft.com/windowsapps/toast-notifications-sample-52eeba29). However, I can't find anything concerning Amtrak data.
I know there has to be some sort of general methodology to fetch the scheduled and estimated arrival/departure data as their Android app has this feature. How do I pull this data using C# so I can put it into the app's variables?

Convert Desktop App to Web Application

At work, we're currently discussing the eventuality that our product needs to be a web application, mostly due to ease of distribution (e.g. getting servers set up by the IT departments of our customers).
Our desktop application is heavily reliant on user input, it has lots of forms and hundreds of controls which are shown and hidden based on others.
My question is, is there a NICE/EASY way - without having to remodel the entire product, which is our current solution - to make this easy for web development?
Thanks in advance.
If ease of distribution is the primary concern then maybe using a Windows Forms ClickOnce might be a viable option as you can publish your application on a webpage and users can run the application from that webpage, but it runs as a local windows forms application - and if you don't need to make any changes to the local registry or other elevated rights operations then all you need on that machine is the correct .NET Framework for it to run.

WPF Application Slow Unresponsive when demonstrating using remote sharing software

After spending 14 hours on this I think its time to share my woes and see if anyone has experienced this issue before.
Ill describe the issue and tests I have done to rule out certain things.
Ok so I have a WPF application which loads in data from an SQL database.
I am using DevExpress Components for datagrids, ribbons etc.. and FluentNhibernate to provide a session for database operations. I am also using log4net to log events to a textfile.
Using the application on my laptop with SQL Express 2008 works fine.. the application starts up, retrieves 1000 records and I can tab through the controls on the ribbon.
Now, I decided to demo the application to a third party and used remote login/sharing software online to share my desktop with the other person so as I could load the application on my laptop and they could view me using the application.
Now, the application takes approx 45 seconds to load... 30 seconds with a blank database where as, when im not sharing out my screen using the online software the application loads in about 7-10 seconds. As well as that, even using the controls in the application during the demo were very sticky, slow and unresponsive.
During the sharing session though however I was able to use other applications without any problems.. everything else worked fine.
But I cannot understand how my application works ok under normal conditions , even browsing the net at the same time etc... BUT totally fails to perform correctly when I am sharing a session with another user... the CPU usage shot up to 100% too at times when the application was trying to start up...
Please see below a list of 3rd party dlls I am using as references in my project.
DevExpress dlls
FluidKit
PixelLab.WPF
PixelLab.Common
Galasoft WPF Kit
FluentNHibernate
NHibernate
Nhibernate.ByteCode.Castle
Skype4ComLib
TXTEXTControl
log4net
LinqKit
All of these DLLs are in the output folder with the application dlls created from the class assemblys in the project. So when installed via an installer on a machine the dlls will be in the same application folder as the application file itself.
Many thanks
I saw something similar about a year ago with logmein. The performance is not the app its the graphics processing . WPF renders graphically in a completely different way then GDI winforms see around 2.3 and down msdn article. Many remote desktop application have trouble rendering this correctly particularly if you don't use the plug ins (say logmein). You didn't say what you were using but I would suggest trying a few different RDP options as there are many out there, and making sure your on the newest versions.
Yes, as bumle-bee-tuna points out, WPF will default to software rendering over Remote Desktop. Another way may be to screen share using Skype or similar. This means you'll be rendering the app locally but transmitting an image to the remote user. the app should work at full speed and the only lag the viewer will see will be introduced by the Skype network. I've used this technique many times to deliver presentations remotely and works well!

Categories