Sometimes when I edit an agent, all of the code is gone, I have to re-open it later - domino-designer-eclipse

I am tired of just guessing at what to do in this situation. Sometimes, when I go to edit an agent (not just agents, but mostly)....the agent opens, but all of the code is just missing. If I come back later, it will be there again. This has to be a problem with Eclipse, but I am wondering if everyone has this problem, and if there is a specific way to remedy this.
To be clear, this will happen to a mature agent that has a lot of script written in it over time, and I am wanting to make a change.
Thoughts or ideas?

Related

My site is taking a very long time to load, what can I do to investigate the issue?

my site is ASP.NET,C#, .net 4, using Umbraco 4, IIS 7.5 it has been working great for months but suddenly its taking ages just to load a single page and mostly not loading at all.
The DB looks fine,
I've restarted the site,
recycled the APP pool,
looked in the logs, it just looks like jibberish
Does anyone have any ideas as to how I can investigate further. No I am not asking you to fix my site or tell me why it is not working, I just want to know other methods for investigating the problem so I can get to the bottom of the issue.
IIS LOG:
http://pastebin.com/msjzty7m
Thanks
Use Google Pagespeed Insights to see where the problems might be.
I have a couple of suggestions:
Set up the ELMAH error log and take a look if some unhandled expcetions.
Set up mini profiler, maybe it is a bottle neck inside a new added script.
Use google PageSpeed Insights to analyze your pages.
My first guess would be it is infact a data issue. Not that it's taking a long time to grab the data but to process it. I've had a few times now where a page is around 138Kb but took over 3 seconds to wait for the page before rendering. Basically this was cause it was running a 3 tier repeater (repeater inside repeater inside repeater) to create the menu system. So even though the site wasn't big it was taking time processing this menu before sending it out.
Suggestions from me would be to comment out anything new that you've added before this date and bring stuff back in slowly till you find the problem part. After that you can look at caching. And if it's a module (.ascx) use # Output Caching and that could help.
This is not loading at all... the online tools can not help, you need to investigate whats happens on the server.
The tools for that is the process explorer from sysinternals to see what is running slow your server, then the autoruns to see what you loading with out your knowledge and also slow down your system, and the tcpView to see who is connected to your server.

Background tasks, if users are on the website

I have a bit of an issue here. Actually, it might not be an issue, I just don't really know how to handle it.
I need to copy an image, from a remote server, to my local server, every n seconds, IF (any) users are on my webpage.
If no users are on, it doesn't matter. If multiple users are on, it should only run the copy once (every n seconds).
I think I have heard somewhere, that you can do background tasks, on your ASP.NET website, but I have absolutely no knowledge of this. Some people also talk about threads, is it perhaps the same solution?
So, I'm hoping for some experienced people, to guide me towards a solution here. What possibilities do I have, which would you recommend and perhaps some articles where I can read how to do it.
Given your answer in the comments I would suggest you need to use a cache that supports time-based expiry.
See http://www.codeproject.com/Articles/51409/Exploring-Caching-Using-Caching-Application-Enterp#heading0020 for a good article on using Enterprise Library caching block.

ASP.NET 3.5: Is there a distinct advantage to having debug=true in a production environment?

All answers point to "no!". However, some people say having debugging enabled is convenient when errors occur on the server. I am not sure what they mean by this. Do people actually debug live server code? I honestly didn't even know you could. With the website I work on, we use ELMAH for error reporting. When a server error occurs, we are emailed a complete stack trace. After acquiring a rough idea of where and how the error occurred, I will open the local solution containing all the code that's currently deployed to the production environment and debug locally. I never actually debug the code on the server itself, so I am not sure what people mean by that.
I ask this because I just found out today while consolidating web.config XML that debug=true exists on in the staging and production environments' web.config files. It must have been this way for a few years now and I am wondering what benefits we will experience by turning it off. Could anything possibly depend on debugging being turned on that might break if shut off after being enabled for over two years since the beginning of the project?
It should be fine to turn it off, and you should get a slight performance boost. It sounds like you are doing the right thing using ELMAH. I cannot think of a good reason why you would want to have it turned ON in production... hope that helps.
The "advantage" that people are talking about is that when an error occurs on the site, the default asp.net error page will show you the actual line of code that failed. If you have debug=false, then you will not see any of that information. I think most who would recommend something like this either do not know about logging frameworks like ELMAH (and hence, cannot easily find the cause of errors on the site without this), or they have left it on the production machine in the beginning of the project while they are installing/testing the site, and then forgot to change it later.
However, with a proper logging framework in place, you can still get good error information behind the scenes without presenting it to your end-users in that way. In fact, you don't want to show that kind of information to end-users because a) they won't know what it means, and b) it could be a possible security issue if sensitive aspects of your code are shown (info that might help somebody find vulnerabilities).
All the System.Diagnostic library is depend from this flag. If you do not use any of this function, then probably you can not see any direct effect, but for see other effect and messages that come from debug functions you need to monitor at lease the windows log file.
Functions like Debug.Assert, and Debug.Fail are still active if you do not set the debug flag to off, and affect performance, and maybe create small issues that you never see if you do not check the windows system log file.
In our library that they are full with assert, the debug flag are critical.
Also with Debug flag to on, probably the compiler is not make optimization's that also affect performance.
Either an advantage or disadvantage depending on how you look at it is that Webresource.axd type files are not cached when debug="true". You've got the advantage of having the latest files every time and a disadvantage of having the latest files every time.
This is often true with other third party compression/combining type modules due to the fact that it is easier to debug non minified javascript etc so they usually only begin properly function once debug is disabled.

checklist pre-release

I have developed a asp.net page and I'm ready to release it for the public. This is my first asp.net page and I would appreciate if I could get some tips of what to do pre-release. So I hope you all can help me put together a checklist before publishing.
Thanks
M
Choose a well voted, trustful hosting.
Check overall security of your site, be sure you have nothing in Debug state. Also take a look at a recently discovered security issue on .NET
Don't forget logs. They are a key to check how things are going on once the app is released.
Ask some relatives/friends to take a look from their point of view. Test as much as you can, remember that if you have 99% finished, there is another 99% yet to be finished :)
Check your configuration files, and every setting on IIS once released.
Be prepared (if not before) to apply SEO techniques in order to let your work be seen on most search engines.
Test your site from many browsers (even the special ones as IE6 and Safari)
Take a look at this link. here in StackOverflow.
Now, just cross your fingers and go on!
Hope that helps,

How to get a web page to return a value to a Desktop application caller?

I am trying to create a moderately complex web page. This is not something I have ever done before, and nor do I feel happy about doing it, but I need to do it. I am not asking you to write it for me, mealy tell me what to research and learn, so that I can hopefully, eventually get it done.
I have not got a clue about how to start, and this is my question.
I need to make an autoupdater for my application. This has been done, and it is working perfectly. However, my application currently downloads version.txt, and reads it to work out whether it needs to download the new application. This is hideous, and slow, and was only supposed to be very temporary. It is also very annoying that we have to update this file every time we release a new version.
My boss wants me to create a webpage that reads the version data from the uploaded .exe, and then returns that to the Desktop application. Therefore, I would be able to call www.example.com/version.aspx, and it would return the version number, such as 1.1. I could then compare to the current version (don't worry, it is generated on the fly, and not hard coded) and then I could download the application if required.
Here comes my question. How would I go about this? I have heard of CGI scripts, and asp.net. Which one of these has the power to solve my problem. If you could just tell me that, then I will be all sorted, as I could read up on it, learn, and broaden my knowledge.
If this is not possible, or not easily possible, is there any way of reading the file version of a remote .exe, without downloading it. This would also be preferable in many ways.
Thank you so much, and I am so sorry for my complete ignorance in this topic.
Richard
P.S. I did try to explain this to my boss, and suggested that maybe he could either do it, or help me, but he is not very good at web applications, and refused, saying that it would broaden my education in this matter. Ahhh!
EDIT: Somehow forgot to add: I normally program in C#, although this application should be so small, that it would not really matter. Also, C# code would be ideal, if there is a way to check the version of a file on a remote server.
EDIT: Thanks!
If you can read the version of some exe file from within a desktop application, using C#, then you can use the exact same code to read it from within an ASP.Net web application.
The advantage of asp.net over CGI (in your case) is that you can use C# in the backend.
A couple of hints:
Server.MapPath("file.exe") returns the complete pathname of a "file.exe" next to the requested aspx file, independent of where you install that web-application.
If you only want to return the version number, use
this code:
Response.Clear();
Response.Write(versionnumber);
Response.End();
in a Page_Load method, after you have read the versionnumber of the exe, of course.

Resources