Building An Extranet Loan Status Check Website Using .NET MVC With A WCF Backend?
Feb 13, 2010
We are building an extranet loan status check website using ASP.NET MVC with a WCF backend. Its a pretty standard design with the MVC site using a WCF service reference to get customer objects. The ervice uses an Oracle backend + http binding, and won't be hosted on the same server as the MVC site (so we can't use tcp binding to reduce latency).
The problem we encountered is that every call to the service is resulting in a 7-8s response time which is unacceptable for an extranet site and much higher than the 2s magic mark. The service method(s) call 12 stored procedures to create the customer object. The database is, unfortunately, denormalized (we can't change it as its also used by other inhouse production systems) so most of the calls are basic select statements which populate the customer object and its associated objects. The service proxy is properly opened and closed/disposed in the MVC actions so there are no instances of any service connection leaks. A new client proxy is created for every request (i.e., we are not using the singleton pattern for the service). how we can speed this up ?
experienced pros on the best way of doing something.First let me give you the broad view of everything.I have a main site (http://www.ffinfo.com/) which is built completely in ASP.Net using C# 4 and has a SQL 2008 backend and then I have an CMS I am custom building to administer the site.At some point I hope to have more people playing the Final Fantasy games and helping me collect data to add to the site so I am using the CMS to both add/modify data in the SQL DB and genereate new pages on the main site as needed.I want to compile the main site so it runs faster as my server has limited resorces and after a reboot or upload of new pages it takes a little bit for the first visit to run.Now here is the problem.
When I use the CMS to make a new page I currently copy over a .asp and .aspx file from a template into the appropreate folder and am good but if I want to compile that page along with any other new pages made I have to scower my FTP for them, download to the local machine,build and publish.This will very quickly become a lot of work,not to mention I can not really take advantage of OOP.
So my question is this, how do I go about doing this better? Have I taken the wrong approce from the start and need to find another road or is the road I am ok I just need to improve my transportation?
While the economy has been in the shitter, I've written possibly the most coolest site EVER for unemployed developers looking to buzzword-ify their resumes. (Don't hate the player, hate the game.)
The only problem is, it needs a scheduled task to run once a day to do some data mining. I spent many, many hours a few months ago researching solutions, but nothing seemed sure-fire.
If I have shared hosting and cannot remote in (e.g. mstsc and create a Schedule Task), how can I create a task that will run once a day on the backend of an ASP.NET website?
After all the research I did, I don't think it's possible. Per my last analysis, someone has to visit the site at least once a day to instantiate an instance of HttpApplication.
Does anyone have any solution to making sure an operation runs automatically, no matter whether anyone visits the site, and without anything but FTP access to the website?
Like I said, I've done A LOT of looking into this in the past, and it didn't seem possible. IF YOU HAVE EXPERIENCE implementing a solution, contribute your advice! But not postulating or conjecturing needed--it's far more nuanced and difficult than you're surely imagining.
A friend suggested instead of having a backend class which verifies the user permission in every public function (results are cached and non static) i should have a more 'streamlined' site. When i dropped the backend i also drop the database code and merged them in the appropriate user permission (base user, logged_in_user, moderator).
The site code looks better now that merging them has decreased LOC (tons of LOC in fact) and i write Method() instead of backend.Method() which increases readability. However now that i have no backend how am i suppose to unit test my code? and what about things like user file upload with different extensions? (txt vs jpg vs FLAC)
I have a post build event that combines my JavaScript files and outputs to Production.js, however if Production.js is not checked out, the build fails. Is it possible to automatically check Production.js out when a project is built? [Edit]If possible using a post-build event, does anyone know how to do this? I am using Visual Studio 2008.
The reason i need to do this is because of Facebook Connect - which is another story, so i'll save you the drama for that. =) Anyway, i have this function that runs on window.onload:
function userAuth() { SomeFunctionWhichGetsFacebookCookes(); if (!loggedInUsingFormsAuth && loggedInViaFacebook) { window.location.reload(); // refresh page, so i can perform auto-login } }
So, i need help in getting the flag "loggedInUsingFormsAuth". I dont care what is in the cookie, just need to know if the current user is authenticated. Why am i doing this? Well, on window load, if the user is logged into Facebook but not on my website (according to the Forms Authentication cookie), i want to reload the page - which allows my ASP.NET website to read the Facebook cookies in the HttpContext and log the user in. I need to do this in JavaScript, because i dont have the Facebook cookies until i call "SomeFunctionWhichGetsFacebookCookies" - which can only be done in JavaScript.
So, how can i work out if the current user is authenticated via JavaScript? Do i have to manually traverse through the cookies, find the one i want, and inspect it? Is this a safe thing to do? Or should i alternatively write out the flag to the client from the server using RegisterClientScript?
I want to check the status code for a web url without using the IP address as I have many websites configured with the same IP and only hostname is different for them. The HttpWebRequest resolves the IP Address and use it.
bit of code on page laod that checks a server status and then writes the status out to a label text. This works great, but i need to make this a bit more dynamic.I need to establish a way that the service status is monitorered every few seconds to see if it stops.here is my code so far:
I have a table with three columns (ProdID,ProdName,Status). I m fetching that into a dataSet and binding that to my gridview. I have a very basic and simple rowdatabound event like this :
[code]....
how can i compare my status against True or False in my if condition.
I want to building a website. I don't know step build a new website. I don't know use DataSet or create new class store connection string connection to DB ?
I am building my first ASP.NET MVC site and this site needs to be in 2 languages.
When a user selects a language from the menu, the site would present itself in that language.
The content likely will be loaded all from resource files. Can I respond to a change in the culture definition at runtime so it load the correct resource file?
I want different URLs for both languages. Perhaps something like mysite.com/en/home/index.
Is this possible? The users should be able to forward and save links and that the site will be loaded in their language.
I'm wondering building a website like StackOverFlow (approximately the same features using ASP.NET ) How much Work-power and time does it take in your opinion . My boss has asked me to estimate for work-power , time , cost and suitable technologies .
Visual Studio 2008 shows a lot of erroneous errors when building a website (not a web project) in the errors list. These errors are usually corrected (removed) when I rebuild the site a couple times but they cost me wasted time.Is there anyway to hide the erroneous errors?
Update: I've decided to look into this to see if I could reproduce it. This is the exact behavior I am seeing, using the website model, I type some invalid syntax on a page. The errors list fills up with errors. I correct the error and the errors list does not update. I build the project and the errors list still shows the errors but the build shows as build completed. I build the project a second time and the errors list is cleared.
My question is there anyway to make the errors list clear on the first build? I thought it might have something to do with page build vs website build but it seems to make no difference. I am not using any third party dlls on this website.
i've got a weired problem using an event-Handler in a Usercontrol I built. The Question to this is pretty simple. I don't get the "SelectedIndexChanged" Event on one of my ListBoxes which I turned to a Multiselection Dropdownlist with jQuery. It's a simple ListBox which should return the new values and should fire the "SIC" Event right? But it doesn't. I don't even get the new values as I try to change values and then read them. I spent more then 2 days searching for an appropriate answer but didn't find anything. As I tried to build a WebSite using some Usercontrols combined with AJAX I'm thinking about letting the Usercontrols out.
I've learned asp.net from books available on the internet, but I didn't find a good book that teaches you some techniques or logic to follow to build an administration area to control the front-end.I mean they talked about security, membership and roles. but still they didn't show you how to manage anything that's not related to a database, anything that's related to a database you'll probably create a page to display some info from a db with some SELECT commands and another page for the admin to INSERT, DELETE, UPDATEbut how can I connect to the other controls from my admin panel.for example : a textbox in the admin.aspx will edit the value of a certain label in display.aspx
another example : I built a web user control to retrieve articles from a DB and another control to be placed in the admin page, which will let the admin add new articles and it will insert it to the database, how can I add more power to the admin page to control the number articles to display on the page, or to control the sorting of the articles, etc...If i could get a name of a book that helps me with the logic or basics of creating a page that works like my admin panel to control the front-end it would be great,
I have been asked to do some work on a website. I downloaded all of the files and chose "open website" in Visual Studio. In the picture below you can see the file structure. When I run the project I get some errors such as "could not load type 'AdminSite.Partner.Listing" or "file project/adminmaster.master does not exist'. Now, those files are indeed there. I have noticed that within the Admin folder and the Home folder there are compiled DLLs in the bin folders. Also, there are project files within each of those folders. I've tried opening the project files and the projects only encompass the files within each of the Admin and Home directories respectively. I'm just wondering what the best way is to set up this solution. As I've done so far, by opening it as a web site, why is it not seeing the DLLs in the bin folders when I run it? Do I need to reference them somehow?
I am in the planning phases of building a new ASP.NET website. The website is really a transactional web application where the users will log in and perform basic CRUD data operations. For right now this website will be accessible through a traditional desktop browser and a mobile browser. For the mobile browser we will build a separate scaled down version of the site.In the future we may decide to create native mobile applications for Android or iOS devices also.
So the question I have is what is the best way to design the system to easily support that? Here is what I am thinking. I am thinking of building out 3 tiers to the site. The back end will be the database - SQL Server 2008. We will use stored procedures for all data access. The middle tier will be a web services tier. This tier will be built using RESTful web services and will contain all of the business logic. These web services will provide access to the database. The front end will be built using ASP.NET. The front end will only contain presentation logic. These tiers will actually be deployed on physically separate servers.
Then I am thinking that when we decide to build a native Android or iOS app that we could build those apps to simply call the same RESTful web services that the main site is calling.Does this seem like a reasonable approach? The only thing I can think of is that the way we are building it right now the web services would be behind the firewall and would not be accessible to the outside world. When we want to support a native mobile app then we would need to make the web services accessible to the outside world.Any thoughts? Does this seem like a good approach for building a high availability, high usage web app that needs to support native mobile apps in the future?