Architecture :: Reason That Multiple Inheritance Not Allowed
Nov 19, 2010What is the reason that mulitple inheritance is not allowed in .net.
View 2 RepliesWhat is the reason that mulitple inheritance is not allowed in .net.
View 2 RepliesI have a table which houses two entities. StaticProgram and DynamicProgram. There is one column in that table called ProgramType which determines if a program is of Type static or Dynamic. Though these two entities are stored in one table (I am guessing because the primitive fields for Static and Dynamic programs are exactly the same) but from a business point of view these are two VERY different entities.
So, I created two Classes StaticProgram and DynamicProgram. However, I donot want to create two seperate Data Access Classes because it is going to be the exact same code replicated twice. I tried creating a "Program" class as base class and inherited StaticProgram and DynamicProgram classes but down casting is not supported so I can't return a "Program" object from the data access class and cast it to "StaticProgram" class.So, what are my options? Can I create an IProgram interface and have StaticProgram and DynamicProgram implement that interface and have my Data Access class return IProgram?
Can anybody tell me why multiple inheritance is not supported in C#?
View 9 RepliesI'm trying to figure out if its possible to have multiple inheritance in a view in ASP.Net MVC. Right now I'm trying to print out a list of entries from two different tables from my model in a single View. I have the following line at the top of my view:
Inherits="System.Web.Mvc.ViewPage<List<GEApproval.Models.CoursePrefix>>"
But I also want to include the table Course as follows:
Inherits="System.Web.Mvc.ViewPage<List<GEApproval.Models.Course>>"
I went ahead and created a composite class as follows:
namespace GEApproval.Models
{
public class Listings: GEApproval.Models.CoursePrefix, GEApproval.Models.ICourse
{
public List<CoursePrefix> CoursePrefixObjList { get; set; }
public List<Course> CourseObjList { get; set; }
private GEApprovalDataModel _db;
//Constructor
public Listings()
{
_db = new GEApprovalDataModel();
}
//Generate a list of all courses associated with the prefix and place in ViewData model
public void listCourses(ViewDataDictionary viewData, int prefixID)
{
var test = _db.CoursePrefix.Include("Course").First(cp => cp.id == 1);
//Show total courses for this prefix
viewData.Model = test.Course.ToList();
viewData["prefix"] = test.Prefix;
viewData["courseCount"] = test.Course.Count;
int courseCount = test.Course.Count();//Test
}
}
}
And in my view, I now have the following line:
Inherits="System.Web.Mvc.ViewPage<List<GEApproval.Models.Listings>>"
I'm still a little confused because I still cannot access the properties of the Course object when listing them in my view, because I'm only inheriting directly from CoursePrefix. I'm not sure what I'm missing. Do I need to have a constructor for the composite object? Do I need the inherit and implementation statements for CoursePrefix and ICourse respectively if I'm already, supposedly, exposing the properties of each within the Listings wrapper class?
i get the above error when i try to run this sql statement
INSERT INTO PSPS_Posts (Post, Date_Posted, user_ID, Thread_ID) VALUES (@Post, @Date_Posted, @user_ID, (SELECT Thread_ID FROM PSPS_Thread WHERE Thread_ID = (SELECT MAX(Thread_ID) FROM PSPS_Thread
[code]...
I get the Subqueries are not allowed in this context. Only scalar expressions are allowed - i am going to run into this quite alot so I figuredI'd better see what the right way is!
i'm parsing a few .net resource files (.resx).In that, i have this piece of data:informaciónThis works in my .net app, but when i try to load this file in my xml document
XDocument xmlDoc = XDocument.Parse(s);
i get this error:Reference to undeclared entity 'oacute'.
I have been creating my BLL and DAL with in the same project as my UI. These have been logical tiers in their own folder with in the same project, that's with in the same solution. I want to try to create a solution that is more like a truly multi tiered app.
I've heard people talk about using a separate projects for their DAL and BLL. My understanding is that these would be separate dlls that would contain the appropriate code for each of the these tiers. I have a few questions regarding this.
Is this a good way to do this? It seems like a logical approach. It also seems like the next step in me moving towards an architecture that's truly tiered. Should I do this differently?
Should the projects for the BLL and the DAL use the same namespace? I think I read that some people use a namespace for each of these that indicates what they are, such as BLL and DAL.
I have a page in a structure as follows. But the loading time of the page is takes 20 or more seconds. In usercontrols i'd used Telerik RadControls, for that reason i can't use updatepanel to avoid script problems or etc. I had tried to add usercontrols dynamically but there is about 14 usercontrols and it takes the same time period :(. I had tried using PartialUpdatePanel as in [URL] but it's not compatible with telerik controls. My client wants to have the all 14 usercontrols being in the same page (not divided by tabs or wizards)
Structure :
MasterPage
Page
14 Usercontrols that contains RadListViews has couple postback events.
I am supposed to develop an enterprise-class ASP.NET Web Application that connects to multiple databases. For example when the web form loads, I should populate different ASP.NET controls (GridView, DataPager, TextBox, DropdownList etc) from multiple databases (SQL Server, Oracle, DB2, SAP Server etc) and also, edit the data in the controls and save the data to the respective databases on button submit.
Should I use Web Service or WCF for data integration, if so is there a limit on the size of the data?
What should be the architecture considering the application should be scalable and easy to maintain?
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.
My requirement is i need to display some quotes from some vendors in my User Interface. Some of the quote details will be fetched from database where as some vendors are giving web services to get the quote results. I need to combine the quotes from database as well as the various web service response and display in the grid.
View 1 RepliesWe need to download multiple files from remote servers. It is a process that would take few hours to complete, since we are talking about images ~50kb each and more than 250.000 in total. Each images will downloaded, resized and then imported to SQL.DB, so we do not need to write files to the disk. Also the applications need to use network credentials, since it is behind ISA.
From your experience, what is the best method to implement this? Should we use WebClient or HttpSockets? Should we use Async methods or Threads ? How can we implement for example 5 simultaneously download to achieve better speed, since we may getting files from many different servers at once?
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.
View 9 RepliesI'm working on a webforms aspx app (not MVC) and I'm not sure if I should just create separate pages or somehow make multiple views on the same aspx page for the following scenario: Basically, I need to give the user the option to view a set of data a few different ways (essentially different group by's from a data perspective)... the data is always the same, its just a matter of how to arrange on the page...
each way I need to present the data will essentially consist of 2 repeaters, one nested inside the other. The outer repeater will display a nice header section with the nested repeater showing the list of items under that heading. view by book title (title is outer repeater, with the book list being the nested repeater, yes, multiple books with same title for this example - the app has nothing to do with books, this is just to illustrate)
Book Title: A Good Story
Author - Publisher - ISBN
Dan Johnson - Smith Publishing - kjdkjfd99898989
Susan Day - Smith Publishing - aa777fd99ff
Greg Greger - Corp XYZ - amkj897hgrt554
Book Title: Another Good Story
Author - Publisher - ISBN
Frank Franky - Corp XYZ - kj3kjfd9d9980
Jason Cambel - Smith Publishing - 7g7fddddttt
Jill Breker - Smith Publishing - d9ddt523321
Or, view books by publisher (here the publisher would be the outer repeater and the list, with different fields compared to first view, is the nested repeater.
Publisher: Smith Publishing
Title - Author - ISBN
A Good Story - Dan Johnson - kjdkjfd99898989
A Good Story - Susan Day - aa777fd99ff
Another Good Story - Jason Cambel - 7g7fddddttt
Another Good Story - Jill Breker - d9ddt523321
Publisher: Corp XYZ
Title - Author - ISBN
A Good Story - Greg Greger - amkj897hgrt554
Another Good Story - Frank Franky - kj3kjfd9d9980
so what do I do here? Just making separate pages is simple and would work, but is there something else I should be considering? There will be 3 different views, so 3 pages total if I went that route. Something is making me think I should be doing this all within one aspx page? maybe just toggling the visible property of the repeater controls? but then I was thinking each of these repeater controls is databound, and I assume even if they are not visible they still incurred database hits to get the data, right? and that could be bad?
I have a website hosted with sql 2008 database on Godaddy. Here's my problem descriptionbefore I actually begin implementing.Entries are made in a table named "XYZ" by a third party program. Now, there are multipleclients (could be asp.net ajax web based or vb.net desktop clients which I have not decided yet) who
read data from this "XYZ" table every 10-15 seconds. The connection string used by these clients would be same. If I have 10000-20000 clients making connections and querying same table, would that cause any breakdown? Since my connection string is same, connection pooling isautomatically in place.
What else do you think I need to take care of? Or is there any better way to implement this setup?Also, should I go for asp.net ajax client implementation or vb.net(c#) client implemtation ?Your inputs would be highly helpful to me. I am looking for a medium to long term solution to thissetup.
I'm designing a framework solution DLL with reusable code that I like to use for many different projects,
I want this DLL to be able to load unknown configuration variables dynamically based on the solution its running from.
I like to load my config variables like this: MyConfig.MyVariableX
Hopefully I can also to validate my variables when the web application loads (by type) and make sure it's not missing(otherwise Throw New ApplicationException("Missing..."))
It would also be nice if I can have intellisense on these variables
I want solution A (web application) to have the configuration variables and solution B (DLL) to load the variables from the configuration file in solution A
I'm thinking maybe I should create a database table to hold the variables with types and stuff...
What would be the best way to do it ?
How can I read unknown list of variables names and values from a config file and populate my class with it on runtime ?
I am currently developing a solution in which the user logs in once and can work on multiple customers at the same time on my site.I've looked at all possible solutions involving sessionid having stored the customerid, to launching a new browser session so i could have multiple sessions for one users etc. I also looked at using cookieless sessions.But the all fail because it's not a simple solution and in my opinion a simple solution is most of the time a good and predictable solution.
Therefore i came up with the idea to use url rewriting(i've seen this used in other applications). When the user opens a customer, i would like to start his url as follows "~/Customers/xxxxxxx/*.aspx" where xxxxxx represents the customerid. and *.aspx represents a complete subset of pages of my site. This would allow me to use a simple technique to use multiple user sessions within a single asp.net session.
Now coming to my problem, I have never done some url rewriting, therefore my questions:
- Is this possible.
- Can i protect all the pages that need a customerid as input(come to think of it, if no customerid in the querystring, redirect to a selection screen would be sufficient).
- How do i adopt all urls used in a sitemap etc in a structured way.
I know that in a web site project VWD will cram all the files into 1 specified folder which holds all the peices of your site together in a nice little container.
However, in a web based application (rather than web site) you have a similar folder but it contains a solution file; people often say this has more advantages, but from my early days of learning what would those advantages be?
I've noticed that ASP.NET automatically creates an App_Data folder for you whenever you make a new webforms application.
Since all of my data comes from a SQL Server 2005 database server, is there any reason to actually keep this folder?
Why the website developers use PNG format images in their webpages?
View 2 RepliesIs there any reason to separate front-end FE and back-end BE (for Administration and customer service) in different websites under the same solution.
Actually it causes me problems in Removing items from the cache, (they) decided to put FE and BE in different app domains, this means different Cache objects!!
I asked them about the reason and they said
1- To not be out of memory and to remove BE effect on the FE performance.
I doubt on this, Customer service team are probably affecting the centralized database performance, but there hits will be like adding 10 customers to our website, it is nothing!! Also App domain memory extends when needed, as far as I know, it does not pre allocate resources
2- To avoid losing both FE and BE if the website goes down.
I agree but this is not a reason to put the whole BLL in a web service, what about SECURING the BLL!!!, I PREFER TO LOSE BOTH if the IIS goes down.
I have an accordion and a nested accordion as a menu ba on left. thepanes contain various controls mainly dropdownlists. I disable the accordion after a user has enetered some values and clicked the search button. However in IE7 the accordion is disabld and all the contained controls are too. But in IE6 the dropdownlists aren't disabled whats the reason behind this and whats the solution?
View 6 RepliesI've spent at least 2 days trying anything and googling this...but for some reason I can't get RegisterClientScriptInclude to work the way everyone else has it working?
First off, I am usting .NET 3.5 Ajax,...and I am including javascript in my partial page refreshes...using this code:
ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "MyClientCode", script, true);
It works perfectly, my javascript code contained in the script variable is included every partial refresh.
The javascript in script is actually quite extensive though, and I would like to store it in a .js file,..so logically I make a .js file and try to include it using RegisterClientScriptInclude ...however i can't for the life of my get this to work. here's the exact code:
ScriptManager.RegisterClientScriptInclude(this, typeof(Page), "mytestscript", "/js/testscript.js");
the testscript.js file is only included in FULL page refreshes...ie. when I load the page, or do a full postback....i can't get the file to be included in partial refreshes...have no idea why..when viewing the ajax POST in firebug I don't see a difference whether I include the file or not....
both of the ScriptManager Includes are being ran from the exact same place in "Page_Load"...so they should execute every partial refresh (but only the ScriptBlock does).
I was working on something with Page_Init. I palce a break point and noticed the event is called twice. What happen was:
1) Page_Init is called
2) Page rendered on browser
3) Page_Init is called again
How do I find out what is casuing it to fire twice? Page_load is also firing twice and this is happening on IE.