Windows Explorer not refreshing after CreateFolder (new folder) - webdav

We have built a WebDav Service with your Engine and have a one problem when we create a new Folder or File:
The new folder / file is created successfully, but not showing in the Windows Explorer. Only if you press F5, the new folder / file is showing (and the name is already selected to be edited).
This behavior is reproducible even with a blank WebDav Solution.
We can reproduce this on Windows 7 and Windows 8 (8.1) using WebDav .NET Server 3.8 and the latest 3.9.
Is there a way to get around this “refresh-problem”?

I solved this issue but clicking in the folder explorer at view > options > then i restored to default and everything is back to normal.

I assume this issue is in Windows Explorer on a single computer. Most likely the WebDAV server-side code is failing with with some exception. Here are some ideas how to detect what is wrong:
Unmount network connections executing 'net use * /DELETE' in a command prompt, this will unmount WebDAV connections too and simulate 'clean' environment.
Retry reproducing the issue and examine your WebDAV logfile. By default it is located in /App_Data/WebDAV/Logs/ folder. Are there any exceptions in it?
Use Fiddler tool or any other debugging proxy to capture and examine HTTP requests. Are there any failed requests?
In case you are creating a folder/file on one computer using Windows Explorer (Microsoft Mini-redirector driver) or IT Hit Ajax File Browser and expect the files list to refresh automatically on another computer this would not work. Mini-redirector does not support any notifications from server and WebDAV does not submit any notifications, you need to refresh the files list manually to see the new items created.

I found this video on Youtube that explains in very much detail how to fix this problem: https://www.youtube.com/watch?v=UUiCPsQquqc
It is a bit lengthy, so I'll just quickly sum it up here:
The reason for these problems are one or more (broken) Shell Extensions that prevent the refresh of the Windows Explorer
To fix it, open up regedit.exe (requires admin privileges), do a search for the Registry Key "DontRefresh". If it is "1", set it to "0". There might be multiple matches for that Key, so repeat until all Keys have the value "0".
This might not work immediately, you may have to kill and restart your explorer.exe process (easiest to do with the Task Manager). Or you can simply reboot your computer. In my case, it worked immediately.
According to the video, the Keys should only be located under HKEY_CLASSES_ROOT/CLSID, but in my case I could only find such Keys in HKEY_LOCAL_MACHINE/Classes/Wow6432Node/CLSID.
I figured it makes most sense to simply search the complete Registry, it does not take very long.

I tred a lot of hacks, from scanning the system, to recreating the profile to hacking Registry keys and hives.
Finally what worked for me -
Right click on desktop
Select Personalize
Click Themes
Click Change desktop icons
Click Restore default & OK
And instantly it began to auto refresh with a new folder, rename, delete, copy, etc.

Related

Meteor's most basic ("todos") example doesn't work properly on my windows 7 - no reactivity

I've been using meteorjs for quite a while now on linux. But when I installed using the relatively new windows installer, I saw that the most basic example doesn't work on properly on my computer - win7.
The example is at: https://www.meteor.com/try/4
which runs perfectly on my ububtu, but on my windows - I see that no information is inserted into the db and all changes I make (add new "tasks") are only local to that page, and other tabs I opened were also local, and there was no "reactivity" (no information was shared between different pages).
I tried to troubleshoot it in some ways:
I made sure that MONGO_URL is not set, and then I set MONGO_URL to another db, and saw that even though that db reported "connection accepted", the oplog nor the collection updated (tasks) have any new information.
Tried different kinds of browsers (chrome, firefox). Both are latest in version.
See no errors in chrome console.
I am assuming that all writes are made to minimongo, which doesn't pass them on.
Is this somehow a known issue?
Any suggestions?
A few things you can try:
uninstall meteor & any separate instance of mongo (including cmd aliases). download a fresh copy & install. Create a new project in a new folder. If the DB had some weird bugged lock on it, this is sure to fix it.
download robomongo (or use meteor mongo) to insert a new doc & see if it sticks. If it does, you know mongo isn't the problem.
Check that autopublish and insecure are installed. If they are, when you complete step 2 you should see a new doc in the app. If you do, then the DB can communicate to the app, so the problem has to be with the client-side saving to DB. Try a meteor method instead of a direct insert. If you don't see a new doc, then the data from the DB can't reach your client, which means your firewall (yes, it can screw up localhost requests, too) is to blame. Turn it off, make sure ports 3000 & 3001 (mongo) are allowed full access & that it doesn't do anything wonky with websockets.
I would try re-installing Visual Studio 2012 and Python 2.6/2.7, then re-installing Node and then Meteor.

Launch Client Console App from Web Page

I've been asked to launch a Console App from a WebPage. Sounds hairy, but there is sound logic for it.
Basically, the page is a Dashboard page which only super admins can access. We have a Console app which needs to run on the client machine. It cannot run headlessly on the server.
I figured I'd have some kind of small file which is downloaded upon the button click. Then that file could be run from the resulting dialog which would launch the exe.
I know apple does something like that with podcasts. You can subscribe by downloading a small link that would behave as I described and open iTunes.
I had a quick go using ClickOnce, publishing the application to IISExpress where I had my site up and running, but had no success with that.
Is ClickOnce the way to go, or is there some other easier approach?
I've also tried just adding a shortcut with a link to that shortcut nd adding .lnk as a mime type in IIS with mimeType="application/octet-stream". I had no luck there and received a 404 error which I have not been able to resolve yet.
Edit
I should also mention that the Console application is not just a single exe assembly. It has dependencies on a bunch of other 3rd party dlls.
I am assuming here that this desktop application needs to be executed at client side. Thus it will be installed by you or someone in your department i.e available to download.
If it is the case then what you need is to register URI - just like skype URI where href="skype:28347839" lanuches skype automatically.
For reference please click here: http://msdn.microsoft.com/en-us/library/ie/aa767914(v=vs.85).aspx
otherwise, get clickonce - -choice is yours.
As you say, just put the console application (an .exe file) on the server, and link to it in a webpage. When the user clicks on the link the exe file will be downloaded. The user can then run the exe file on their own computer.
There will be some warning dialogs about security issues, but if your users trust your exe then they can accept those warnings.
If you get the console application signed, and/or maybe use Group Policy on your LAN you might be able to reduce or eliminate those warnings.

Can't delete a ghost file in my .NET Web Site that prevents publishing

This is really frustrating me. I file I have continually gets recreated, but not really. It appears in my project, it appears in Windows Explorer, but I can't open it, it says the file doesn't exist. If I try to delete it, it says it cannot find the item, BUT if I try to delete it, it says it failed, then refresh, the file is gone. But if I go back into my project and refresh the directory, it shows up again both in the project and explorer.
Now I've read this can be caused if you have low RAM and are doing a lot of operations, however I've got 16gb ram and just am using one instance of VS, so that can't be it. I've also read that restarting the computer helps. Well when I restart, I can see the file there sometimes, sometimes not. If it's there I can F5 and it's gone. BUT as soon as I either try an SVN update (even though it doesn't update/add anything in the svn log box), or try and build the project, or just refresh the directory from within visual studio again, the ghost file appears.
This is preventing me from publishing the website because every time I go to publish it, it throws an error telling me that ghost file is missing. But there is no file indicator in the error message and searching the entire solution for any references to it returns no results...so I am at a loss for what to do.
My best suggestion is to create a new Web Site project in a different folder and copy the files over. It sounds like your project file is damaged.
Alternatively, this could be caused by Adding an existing item as a Link, which by default doesn't get included when you publish a (web) project.

not seeing changes after publishing changes

i have an asp.net 2.0 site which is compiled and has been put in the IIS virtual directory
however the new changes cant be seen by some users, and some other users can see the new changes on the web site, i have tried deleting cache and cleaning internet settings and trying with mozilla and chrome and still cant see the new changes.
we also tried cleaning the connection pool on iis.
is there anything more i can possibly do?
Have you confirmed that the machines are hitting the right server? Ping the URL from the "bad" machines and see what it resolves to.
The javascript changes may need browsers to download newer script which was published. (Cached javascript might be older)
For session based changes, if users retained older session, the changes may not reflect until they restart the session.
I found the answer, the server was being split in two machines, and when the server admin updated files only did in one of the servers, not both, now both are updated and running ok, thanks every one for the suggestions.
Two things to try (if Bill Gregg's suggestion doesn't work):
1) Bounce the web server services.
2) Download a freeware app called CCLEANER (formerly called Crap Cleaner....it was seriously called that). This app (when configured correctly) will clean all the junk web files off client machines.

ASP.NET MVC - Unable to print ASP.NET Charting control on server

Trying to print an ASP.NET Charting control behind the scenes in my web app. I think it is a permissions issue with the printer as everything is ok up until the point where my code calls:
chart.Printing.Print(false);
bool finished = false;
while (!finished)
{
finished = File.Exists(settings.GetValue("statusfile")); // file which indicates document was printed
System.Threading.Thread.Sleep(1000);
}
At this point the page just freezes (or continues to load endlessly - infinite loop!) Understandably this is happening because I am 100% relying on the document being printed. I do intend to add a timeout, however, at the moment I am just trying to figure out why exactly the document is never being set to the printer!
I have given the account (which the AppPool is running under) permissions to all the relevant folders and even the pdf printer itself...Still nothing.
Am I missing something? Is there any issues with printing on the server side via ASP.NET? I have encountered some issues doing this via WindowsServices in the past not sure if it is a similar problem with ASP.NET websites.
Update
As suggested I updated the AppPool to give myself (admin) permissions and it is the same issue. So by the looks of things the job is never being sent to the printer. I can't seem to figure out why though...
Probably should have mentioned this in my original post....but I am invoking the printer through a referenced DLL, this code is not being called directly from my application (incase it matters). Also this runs fine on my Development machine which is running Windows 7 IIS7.0 where as the server is running Windows 2003 server with IIS6.0.
Update 2
I removed the while loop and just left in the chart.Printing.Print(false) line and turns out the document IS being sent to the printer. So the issue must be with the settings file not getting written which is why the loop never breaks out!
To isolate if this is indeed a permissions issue, you could try running the application using the Visual Studio web development server, which will run under your credentials. Or if that's not an option, temporarily change the IIS app pool so it uses your credentials. If things still do not work, you may have another issue. I'm not sure which charting library you're using (is it the newish Microsoft one?), but maybe Print wants to show a printer dialog.

Resources