Silverlight RIA Services applcation not binding data into comboboxes on some machines(!) - deployment

We have a very strange problem at the moment whereby our Silverlight 4 application will not display the contents of ComboBox on (some) client machines.
We have an observable collection in our view model, with a simple binding expression on the ItemsSource on the ComboBox. In the page's Loaded event, we are calling a domain service to retrieve the items, then in it's Completed event we are storing the returned items into the collection. Nothing fancy.
Firstly, when we deployed the solution in Release mode, the combobox's had no values. I opened fiddler and saw the request and response from the domain service, and it was in fact successfully returning the correct data to the client. However the combobox's had no data in them.
I rebuilt in Debug|Any CPU configuration, hit the same URL and it worked straight away - the combobox's were filled with data. Problem solved? Not quite.
We then gave the URL to someone else to test (on the same network/subnet) and the combobox
s were empty again. It works on 5 machines, and doesn't work on the rest. I checked fiddler, and the response is coming back with all the data - Silverlight just doesn't populate the comboboxes.
We have tried a number of things - IE no addons, chrome incognito's, cross domain and client access policies... nothing seems to make a difference. We've tried running the browsers as administrator, we've even tried on very old machine running IE6, same issue (ie no UAC or anything strange there). No anti-virus installed on any of the machines. At a complete loss. We've tried machines on the company domain, and off the domain with no difference - different operating systems (xp/win7).
Does anyone have any ideas or solutions for me on this problem? Seems like there's something installed on the machine doing it?
Cheers,
Matt

This is probably a timing issue. ComboBoxes wreak all sorts of havoc. Check out Kyle's blog for tips and some tools to make things easier.
http://blogs.msdn.com/b/kylemc/archive/2010/11/02/silverlight-combobox-frequently-asked-questions.aspx
The general problem is that the Silverlight ComboBox was not designed with async data patterns in mind.

Related

Database info not showing when previewing site on mobile?

I have made a simple full stack application that uses a postgreSQL database. When previewing the site on desktop it works fine and is able to retrieve all the information with no problem so long as my backend server is on. I am trying to preview the site on my phone using my IP address followed by the port number and it comes up just fine but only the frontend is displaying on my phone. I am unable to see any information from my backend or database. Does anyone know why that is or how I can fix that to display on my phone (without hosting the site)?
1.Maybe it's just cashing issue.
check your mobile phone browser cash setting.
In general, browsers use caching technology for performance reasons. Caching refers to storing values that you previously requested locally and then reusing old values without using new values when a similar request comes in.
2.Maybe it's a front-end css problem.
If design-related elements such as css are not accurate, problems that cannot be seen on the screen may occur even if server data is imported normally.
3.Or maybe front-end can't get data from the server at all.
In this case, it is necessary to debug the server source, check whether it is sent normally on the screen, and check whether the response is received normally through the network terminal.
After checking the three above, even if you can't solve the problem,
At least you'll know exactly what the problem is.

SAPUI5 application checking for Virus scan profile in Gateway

Scratching my head with the following problem.
I have developed a SAPUI5 application using smarttemplates/odata annotations. In the first screen - i create entries for an entity - navigate to another screen - create entries for another entity - pretty simple.
But the problem is, I am encountering an error Virus scan profile not active in the backend (gateway embedded). When I switch off the virus profile in /n/IWFND/VIRUS_SCAN backend, all good . No issues at all.
But switch on to a default profile, back comes the problem. 90% of the times I get it in the second screen, but 10% in the first entity.
The weird part is, all the other UI5 applications in the same system works ! If it's a system problem, then it has to be affecting all the ones, but only my application is stuck with this problem.
I realize that there is something different between mine and the rest, but I am unable to figure out what it is . I have compared the projects, manifest/project.json, etc. $batch request payload of mine vs. others and I see no anomaly, other than the _changeset, rest all are identical, and adhering.
So, what would be the one thing that is making a POST request from my application trigger the check for virus scan profile and fail ?
Even strange is, the request statuscode is 202 , but it doesn't reach the backend at all.
Any help is highly appreciated,
thanks,
Sathish R
Finally, the issue seems that one of the properties in my entity is of type EDM.Guid, one of the types for which a virus scan would be performed before passing through the request. As we don't have any profiles configured, I ended up with the error. Converting it to string just fixed the issue :-)
thanks,
Sathish R

Beginner GXT issues

We have a working web application, which has been developed with ExtJS for client side, and Struts, Spring, Hibernate for server side. now, we are considering to migrate to GXT (or may be GWT itself). The thing is I'm very new to GWT/GXT. and we are trying to decide whether we go down this road or not.
1) Until now, we have 2 domains for our web-app. one is that the application (Struts+...) have been deployed to, and the other is mainly a cookie-less custom CDN. The transfer between client and server is mostly XHR requests, sending/receiving JSON and/or JSONP. But with the new approach ahead of us, I began to understand that we are supposed to have only ONE domain, for the whole GXT application. Is it correct or I forgot to consider something here?
and if not, Is it possible that we deployed just part of the application (i.e. com.ourcompany.webapp.gxt.server.*) to the main server, and the contents that have been compiled and generated by the GWT compiler to the other CDN-like domain?
2) The other big issue we are facing is that the current application is consists of mostly 3 huge modules. One is responsible for "SignIn", the other is for "Webtop", and the third one is "Modules which each users has access to". The latter has been generated on the server due to "access rights" of each users, and obviously could be different from one user to the other.
The only thing I could find on this matter, which might be related is Code Splitting. Although I'm not totally sure if this would be the right solution for this.
We want that the application, on Start Up, checks whether user has been logged in or not. if not, loads the SignIn sets of javascript files (i.e webapp.signin.nocache.js), then after user has entered the correct username/password, unloads this signin file and loads webtop.nocache.js AND modules.nocache.js.
I would be really appreciated if you could help me out.
1) If your GWT app is loaded from a different domain than you have to face the same origin policy. You can not do a xhr to a different domain. You could use the ScriptTagProxy to get around this. But it does not feel very netural.
2) You can use CodeSplitting in order to automatically load a particular part of your application dynamically. All you have to do is to warp your splitt point into an async call.
A detailed compile report gives you a pretty good overview how well code splitting is working.
But CodeSplitting does not unload already loaded code. If its really importend to do so you have to redirect the user to another url in order to load the appropriate user depended module.
Once Javascript code has been loaded and executed its impossible to remove the code from the browsers memory.
Grettings,
Peter

BlogEngine .Net on load balanced two servers and one database

I am to use Blogengine .Net as my blogengine and most of it served well until I realized I have to run this identically on two servers and one database.
When the editor is on server 1, anything he/she posts will be written to the database and will be updated in the in memory post list(static List Posts). Meantime for any user on server 2, nothing done on server 1 is visible because the in memory post there won't be updated.
One life questioning solution is making the editor switch servers from their host files and with a help of a shinny button making them able to reload the posts as
BlogEngine.Core.Post.Reload();
HttpRuntime.Close();
but I really feel there should be a better solution because I m now thinking about would integrating Memcached somewhere here be easy, if not I guess I have to switch from BlogEngine .Net.
Any suggestion would be more than welcome,
Thanks,
Bilsay
I have the same problem. I am running 2 servers and a load balancer to do the work. I first login with the first server, and post the blog. than login on the second server and press the button "reset cache" which I wrote to get the data again from database. But this solution is still troublesome for user comments.
Thanks
There's an extension to help solve this problem:
http://allben.net/post/2009/05/10/Web-Farm-Extension-10

Perl application move causing my head to explode...please help

I'm attempting to move a web app we have (written in Perl) from an IIS6 server to an IIS7.5 server.
Everything seems to be parsing correctly, I'm just having some issues getting the app to actually work.
The app is basically a couple forms. You fill the first one out, click submit, it presents you with another form based on what checkboxes you selected (using includes and such).
I can get past the first form once... but then after that it stops working and pops up the generated error message. After looking into the code and such, it basically states that there aren't any checkboxes selected.
I know the app writes data into .dat files... (at what point, I'm not sure yet), but I don't see those being created. I've looked at file/directory permissions and seemingly I have MORE permissions on the new server than I did on the last. The user/group for the files/dirs are different though...
Would that have anything to do with it? Why would it pass me on to the next form, displaying the correct "modules" I checked the first time and then not any other time after that? (it seems to reset itself after a while)
I know this is complicated so if you have any questions for me, please ask and I'll answer to the best of my ability :).
Btw, total idiot when it comes to Perl.
EDIT AGAIN
I've removed the source as to not reveal any security vulnerabilities... Thanks for pointing that out.
I'm not sure what else to do to show exactly what's going on with this though :(.
I'd recommend verifying, step by step, that what you think is happening is really happening. Start by watching the HTTP request from your browser to the web server - are the arguments your second perl script expects actually being passed to the server? If not, you'll need to fix the first script.
(start edit)
There's lots of tools to watch the network traffic.
Wireshark will read the traffic as it passes over the network (you can run it on the sending or receiving system, or any system on the collision domain).
You can use a proxy server, like WebScarab (free), Burp, Paros, etc. You'll have to configure your browser to send traffic to the proxy server, which will then forward the requests to the server. These particular servers are intended to aid testing, in that you'll be able to mess with the requests as they go by (and much more)
As Sinan indicates, you can use browser addons like Fx LiveHttpHeaders, or Tamper Data, or Internet Explorer's developer kit (IIRC)
(end edit)
Next, you should print out all CGI arguments that the second perl script receives. That way, you'll know what the script really thinks it gets.
Then, you can enable verbose logging in IIS, so that it logs the full HTTP request.
This will get you closer to the source of the problem - you'll know if it's (a) the first script not creating correct HTML, resulting in an incomplete HTTP request from the browser, (b) the IIS server not receiving the CGI arguments for some odd reason, or (c) the arguments aren't getting from the IIS server and into the perl script (or, possibly, that the perl script is not correctly accessing the arguments).
Good luck!
What you need to do is clear.
There is a lot of weird excess baggage in the script. There seemed to be no subroutines. Just one long series of commands with global variables.
It is time to start refactoring.
Get one thing running at a time.
I saw HTML::Template there but you still had raw HTML mixed in with code. Separate code from presentation.