Architecture :: Handle BL Cache For Multiple Web Applications?
Mar 27, 2010
I recently received a project that contains multiple web applications with no MVC structure. For starters I've created a library (DLL) that will contain the main Business Logic. The problem is with Caching - If I use the current web context cache object than I might end up with duplicate caching (as the web context will be different for every application).
I'm currently thinking about implementing a simple caching mechanism with a singleton pattern that will allow the different web sites (aka different application domains) to share their "caching wisdom". I'd like to know what is the best way to solve this problem.
I've got a web application that runs of a state server. It looks like soon it may need to distributed and there will be two web servers behind a load balancer.
This works great for session state but my next challenge is Cache
My application leverages heavily of cache. I understand ASP.Net 4.0 will be offering more here but nothing much has been said about the how too.
There are two challenges that I face
1). Each webserver will have its own copy of cache whereas it would be more efficient to put this to a third server the same as session state is put to state server.
2). The real challenge is keeping cache in sync if a simple dataset derived from the database is changed my code dumps that cache item and reloads the cache. That's all well on one webserver but webserver number two wont know to drop that particular cache item and reload it. This could cause some unexpected problems in the application.
For scenario number 2 I could attempt to do some smart coding so server number two knows to dump the cache and reload it.
My guess is someone else has already been here before and there's probably a better implementation approach rather than writing extra code.
Does anyone know how I could achieve the goal of keeping Cache in sync between multiple webservers or even better farm Cache management to another server?
I have a form which allows users to modify data, what's the best way to handle that so if two or more users try to make an update i get the data in there properly without overriding the new stuff. for example if name and bday are in the form, user1 changes name but not bday, same time user2 accesses the form, the original name and bday are there, user1 saves, but when user2 saves, since he had the original name value the original is saved over the first.
since asp.net contains multiple threads that are executing at the same time.so if 2 threads access an object (simple or complex) that i got from the the asp.net httpcontext Cache.can't this lead to state problems on that object if these 2 theads tried to modify/read it at the same time?so what kind of precautions should i implement?for example i am thinking maybe locking the object while working with it? (wont this cause performance problems?)or maybe when i retrieve some object from the cache i should create a copy from it? or maybe i dont need to worry about this issue at all?
We have a wfc layer that wraps the business classes and database access and use a client that lives on the database layer. Amongst our group we are attempting to form standards. Some want to have the client call the web method and pass the page they are requesting and the page size. Pass that to the database and then page in SQL Server use RowNum.Some want to cache the full list of objects in http cache on the service tier and page in memory. They concern here is memory use on the server.
Which would be best for a medium number of users with potentially large number of records to manage (say 30K) Is it better to cache them all in memory and work from there or page at the database as the application scales?
I need to invalidate cache in a web application when related data is updated in another application (running on the same machine). Both applications use the same database. I know there's SqlCacheDependency. How do is it in terms of performance? Is interprocess communication (e.g. using name pipes) an option in web applications? Does it outperform SqlCacheDependency?
/Web --this is the client facing site /Web/Admin --this is the backend system and is setup as a Virtual Application
I'm using HttpRuntime.Cache for caching calls to the database. What I want to be able to do is clear something that is cached on the /Web site from the /Web/Admin site. It appears though that HttpRuntime.Cache is a single instance per application.
I have one website over at utopiapimp.com. The website is used for a popular web based game. Some company internets don't allow the website to be accessed so I opened up another domain at utopiashrimp.com. Same website but a different iss application. Both have same database backends. They also both sit on the same virtual machine. I put my brand new code on shrimp and solve bugs with that code. I host the solid code on pimp. So I can't just forward the shrimp domain to pimp because I need a test bed.
The problem is that they don't share the same application cache. So my question is, can two websites share the same application cache? I really need to figure this out. I would rather not create a webservice and or a handler that one website needs to hit to change the cache on the other application.
I have an asp.net solution in which there are two web application projects (client website and admin website) and also a class liabrary project in the same solution . In the live production server, the admin web app is within the client app (eg: client site= [URL] and admin site=[URL]). A class (with static variables) in class liabrary is userd to cache data. My problem is that i cannot get the changes to the static cache by one web project reflected to the other (becoz, i think, they seem to load in seperate appdomains).
1) I have a question, many kind of applications / programs offer API's for integration.Is it possible to integrate any kind of application / program with any kind of application with the help of API ?i mean two completely different applications/programs with different database structure can still be integrated with each other with the help of API ?2) Where exactly is the API file stored ? i mean in order to integrate 2 applications i need to create an xml file ? and store it where ? or i have to do some modification in the code of my application in order to work with this api integration ? how it works..please guide me in a right direction....
3) Could anyone explain me how this API thing works ? i have been provided a PDF file by the application company that i need to integrate with my database based web application.now i have to make API connections in my code ? or how ?
I have a WPF Windows application with sqlite database which we distribute to our clients. The application consists of some database table which changes every month. eg. the application users a exchange rate table which is valid for one month.
What is the best approach to update the data in these table. note that the whole application is not changing but only the data in it changing, no change to structur of the database or table.
We are developing products that will be used in the following way:
Various shared libraries which may be used by multiple products. I anticipate these libraries will mostly need to access string resources that contain error messages/exceptions. Various end-user based applications, designed to run as standalone apps on a PC. They will be required to support multiple languages upon deployment/installation.
Various web-sites which may be required to support multiple languages either at deployment time or possibly at runtime (i.e. minimal or zero downtime). Potentially the site might need to support multiple languages at the same time if being accessed globally.
We may be required to allow customers access to our language files for editing themselves. We would not wish to allow them access to our source code (other than the resource files/dlls) in order to achieve this. We might need to incorporate a facility to log exceptions in our native language (English in this case) and display them in the translated language. This will us debug our customers solutions in the field.
I am already aware of products like RCWinTrans and handling multiple languages in VC++/MFC applications. However, the requirements we are faced with here are more extensive and thus require us to make a few up front decisions that could be difficult to change long term, so ideally we want to make the best choice now. Based on my own knowledge, I have a few questions although I may be missing some tricks with .net that will be happily received. Here are my questions:
What would be best? Put all our resources in a seperate DLL per VS solution OR put the resources in each VS project. The way I see it per solution is easier to manage, modify, and allow customer access. The per project solution seems cleaner though and makes the individual projects more portable. This method would apply to our shared library based solutions as well as our end-application based solutions.
Is it possible to have two seperate resource files loaded at once i.e. if we want to log the exceptions in English but supply them back up the food chain (as a message in an exception) in the translated language? Are there any tricks we can use to automate this like AOP?
Imagine I have a class MyTestClass. And I need an instance of this Type throughout my whole web application.Now there are several possibilities to accomplish this.1. Make MyTestClass static, make it contain static methods only Probably the most performant solution. I'm not feeling lucky about using static fields though. Thread safety? What if my static class contained a static System.Collections.Queue?
Even though I'm trying to implement exception handling in a multi-tiered Windows application, catching and throwing exceptions should be the same for Windows and Web (sans global.asax and web.config custom errors).
I have a webform with a texbox that displays exceptions. So my webform invokes a method in BusinessTier class which then invokes a method in DataTier class. How can I throw my DataTier method exception so it reaches my webform?
I need to handle 2 different scenarios.1. Webapplication in a Servercenter. A user can authenticate against a companydatabase with an user account that is stored inside the companytable. We provide services to different companies, and every company has their own database. A management database contains the relation of company to database and server. A user need the companyname, username and password to logon.2. Webapplication on a company serverThe services are hosted on hardware inside the companynet. There is only one company to handle, so that a user doesn't need a companyname for login.Whats the best approach for this problem?
I'm using .net 3.5 and am currently creating a web application used to generate a report through Aspose.CellsActually, the page is composed in a form where I get the configuration of the report I have to generate. The "generation" button is in an update panel. When I click on it, the "generation" button is hidden and a progress bar appears. When the excel file is generated, I save it in a memory stream and I send it back to the aspx page where I change the headers to allow the file's download.
I'm trying to configure a websetup for the first time for our ASP.NET application which consists of 11 web services. Is it possible to create an msi that will install the app and the 11 web services and also set-up the app pools & create the apps in IIS? Or would I need an individual setup for each web service? Basically I need to make it as simple as possible for the client to release.
i have a recruitment section in an admin system for a website, and now my client wants the ability to select multiple applications at the same time, via a tick box, and attach them to an email.. For example, look at this image: [URL] You will see a list of applicants for jobs, i was thinking of having a checkbox which the user can select and then hit a button which opens an email window with all the Curriculum Vitae's (Resime's) attached.. These are already on the server, specific to users, but is what i am trying to do possible?? So selecting multiple applications and attaching the details, which is a word document to an email?? If so, can you show me an example of similar methods that have been done or even something that i can work from?