I was planning to utilize MVP, DDD, TDD, IOC, Dependency Injection, Repository , StructureMap etc but the timeframe is very tight and this can also be achieved in n -tiered architecture:
Technology:
Client Web Portal
ASP.Net /C#/SQL Server
Project Specification:
5 types of customers Template of service Dynamic Data Driven portal Modules can be activated/deactivated through management console Branding and customization Rapid deployment portals of future clients as well Portals willallow for customization Data reporting services: reports and BOBJ Ad hoc Query Value- Add services to the clients portal Each Clients welcome page can be customized by client as well How can I determine which Client is on "Welcome" page without them logging in? Create different URLS for each client base? how? Mobile Application services Localization Demo portal should be built and sent to client for testing rapidly
Database structure:
There will be core database which will be connected to 50-60 client databases depending on the login and other details.
What is the best approach in terms of data layer? since dynamic db connections will have to be implemented?
Well i want to know how many architecture approaches we can use in asp.net web application. i was asked about it. i told him that i use a appcode for dal and bal and the presentation layer. but he was not convince. basically i want to ask what web application architecture an asp.net web application guru would use keeping in mind the different metrics ( i am talking minus web services or any SOA thing)
Consider the following scenario: Page written in classic ASP or PHP, which is rendering a data report (series of HTML tables for simplicity). There is one main database query and then multiple sub queries as the page renders. The report is split into sub panels, which correlate to a sub query. Therefore:
Main database query. Loop over result. For each row, execute sub query and render report panel. How would you architect a similar report using the MVC pattern? This can be split into two parts: Efficiency at database level of multiple queries, which are dependent on values from an outer query. If all data was processed and prepared in the controller, would this also be deemed inefficient if looping within the controller and then again in a view to render. Could sub controllers be used or sub panels, which encapsulate smaller sections of logic i.e. loading data and rendering report panel.
I am trying to understand the fundamental differences between the Provider Model and Repository Pattern.
I have used the Provider Model in many many situations and am confident with it when designing applications. However, the more examples I encounter on the internet and asp.net evolution I keep coming across "Repository" Interfaces for classes that look like a Provider Model.
I have dug around a bit but all I can see is that they kinda do the same thing, or closely overlap by enforcing an inheriting class to adhere to a "contract" of implemented / abstracted methods etc...is there more to it?
I am having serious performances issues with gridview + tabs. Its very slow.. I was thinking to create a XML based logical layer between my database and UI.
1) Will it be useful if i use webservice to get data from database to poppulate gridview?
I've gone rounds with this ever since I started programming classic ASP 12 (or so) years ago and I've never found a great solution because the architecture of ASP and ASP.NET has always been a swamp of bad practices, magic shared singletons, etc. My biggest issue is with the HttpApplication object with its non-event events (Application_Start, Application_End, etc.).
If you want to do stuff once for the entire lifespan of an HTTP application, Application_Start is the obvious place to do it. Right? Not exactly. Firstly, this is not an event per se, it's a magic naming convention that, when followed, causes the method to be called once per AppDomain created by IIS.
Besides magic naming conventions being a horrible practice, I've started to think it might be a reason there exist no such thing as a Start event on the HttpApplication object. So I've experimented with events that do exist, such as Init. Well, this isn't really an event either, it's an overridable method, which is the next best thing.
It seems that the Init() method is called for every instantiation of an HttpApplication object, which happens a lot more than once per AppDomain. This means that I might as just put my startup logic inside the HttpApplication object's constructor.
Now my question is, why shouldn't I put my startup logic in the constructor? Why does even Init() exist and do I need to care about Application_Start? If I do, can anyone explain why there is no proper event or overridable method for this pseudo-event in the HttpApplication object?
And can anyone explain to me why in a typical ASP.NET application, 8 instances of my HttpApplication are created (which causes the constructor and Init to run just as many times, of course; this can be mitigated with locking and a shared static boolean called initialized) when my application only has a single AppDomain?
my code is calculate to current rowafter update quantity but other rows don't affect and not calculate i need to calculate all rows i think i need to use for loops but i dont know how to do it
What is the best approach to one to many relationships?
This is my scenario:
I have a simple one to many relation:
Customer CustomerID Name tel CustomerNotes Id Note customerID
I want to have a DETAIL view of customers and CREATE view for CustomerNotes all in the same page.
I create CustomerController and the different views and its respective actions for edit, create, delete, etc.
I also create a CustomerNotesController and the views and actions like before, but I made the views PARTIALS
I put a RENDERPARTIAL for the CustomerNotes create view in the Details view from Customer.
When I run the app, the page is render as expected: It shows the detail info of the customer and bellow the create form for the notes. However, when I click SAVE, nothing happens. I put a breakpoint in the notes controller and never get hit.
I also try with RenderAction and don't work at all.
I've been reading up on DDD a little bit, and I am confused how this would fit in when using an ORM like NHibernate. Right now I have a .NET MVC application with fairly "fat" controllers, and I'm trying to figure out how best to fix that. Moving this business logic into the model layer would be the best way to do this, but I am unsure how one would do that.
My application is set up so that NHibernate's session is managed by an HttpModule (gets session / transaction out of my way), which is used by repositories that return the entity objects (Think S#arp arch... turns out a really duplicated a lot of their functionality in this). These repositories are used by DataServices, which right now are just wrappers around the Repositories (one-to-one mapping between them, e.g. UserDataService takes a UserRepository, or actually a Repository). These DataServices right now only ensure that data annotations decorating the entity classes are checked when saving / updating.
In this way, my entities are really just data objects, but do not contain any real logic. While I could put some things in the entity classes (e.g. an "Approve" method), when that action needs to do something like sending an e-mail, or touching other non-related objects, or, for instance, checking to see if there are any users that have the same e-mail before approving, etc., then the entity would need access to other repositories, etc. Injecting these with an IoC wouldn't work with NHibernate, so you'd have to use a factory pattern I'm assuming to get these. I don't see how you would mock those in tests though......................
I am looking into the possibility of shortening / encrypting a url which will be from 150 to 250 characters in length to maximum 12 characters using an algorithm. Initially I am doubting it's possible but I wanted to leverage the great minds of StackOverflow :)
the algorithm should be one that can be written in classic asp, sql, c#, vb, or foxpro or other language.
Is that even possible without a database centric approach?
I was reading here that AES in CFB mode, will do a stream cipher and the output length will be the same as the input length. Is there any way to shorten it even more?
I am developing a CMS application. Its a very huge deep and with full of configurable features. Current, I am developing it using Asp.net C#, form authentication and by creating UserControls.
There are lot of configurable items need to decide at run time as per user roles and some rules are predefined and some will be defined by Admin at runtime. The all information is stored in DB. I am getting lot of issues with USerControls. I consulted with some other guys who told my approach is wrong, I should go through DB data fetching. I really don't understand what is it? It is something like my all pages will be stores in Database and will construct at runtime and display as per rights?
I have a situation where I need to maintain a large number of related integer values in my ASP.Net 3.5 application. The SortedList seems perfect for this purpose. If this were a Windows app I'd just create a class and setup one method to Set values within the SortedList and another one to Get values out of it.
But being a web app, I'm not entirely sure of the best approach to use. Sure, I could just create one method for Set and another for Get but that doesn't seem very "clean".I thought about creating a UserControl without any visual elements but am not sure if that makes sense.How would you go about implementing such a SortedList in your web app?
I am looking to implement a Wizard for my Web Form, please could somebody give me suggestions as to which approach would be best jQuery or ASP.NET Wizard control? give links describing the implementation, if possible.
I landed on a job to continue working on exisiting asp.net 3.5 application using Visual Studio 2008. The former .net developer is no longer around and I have to dig into the application code to understand how the app works( workflow, logic, etc...)I have added new development to the existing application and enhanced existing pages. Now, I need to provide Technical documentation for the application so any new developer comes onboard will not struggle enhancing the app or do new development following the same methodology . Q1. What is the best approach to provide technical documentation.I thought of the following
We need to deploy our asp.net web site in web farm which consists of 16 web servers. Whenever we need to roll out a new release it is very time consuming and tedious as we need to deploy it first on the DR environment (16 web servers) and then on to Live environment (16 web servers). Currently we prepare the msi on our build server and copy it on all the front end web servers which involves first FTPing the msi to a common location on hosting network and then copying from the common location to each server. After thet we backup the existing website and then run the installer one by one on each machine
I do have a log system and the correct error is well explicit there, but I want to give a better message to the user.
I keep trying several ways but I'm using Telerik components and well jQuery and I ended up using both ASP.NET Ajax methods and jQuery, so I use
function pageLoad() {
try { [code]....
as well$(document).ready(function() { ... }
that alert(err) is never fired even upon OnClick events
what's the best approach to avoid this message errors and provide a cleaner way?
all this happens in <asp:UpdatePanel> as I use that when I didn't know better (3 years ago!) and I really don't want to mess up and build all again from scratch
Updated with more error windows after volpav solution
There are various ways to handle session timeouts, like "meta refreshes" javascript on load functions etc.
I would like something neat like: 5 minutes before timeout, warn the user...
I am also contemplating keeping the session open for as long as the browser is open(still need to figure out how to do it though... probably some iframe with refreshing).
How do you handle session timeouts, and what direction do you think i should go in?
What is the most correct way to save your connection string when using the n-tier approach ? Right now I have two windows app and one web app using my DLL library, what I'm currently doing is to create a static method inside my dal "GLOBALDAL" inside I'm making this check:
Code: if (System.Web.HttpContext.Current != null) ... if httpContext.Current is null That's mean that one of my windows applications doing the request, if so I get the CN from a file otherwise it's mean its the website knocking on my door so I get the CN from: Code: System.Web.HttpContext.Current.Application["ConnectionString"] I am thinking of changing it all and just set properly in my DA layer that expose the CN as a string. But I fear of security issues. So what is the correct way?
I am involved in designing a asp.net webforms application using .NET 3.5. I have a requirement where we need to log exceptions.
What is the best approach for exception handling, given that there would be concurrent users for this application?
Is there a need or possibility to log in exceptions at a user level? My support team in-charge wants to have a feature where the support team can get user specific log files.
To give you a background, this application is currently on VB 6.0 and we are migrating it along with some enhancements. So, today the support personnel have a provision to get user specific log files.