Strategy For Sharing Project Dependencies / Resources?
Sep 20, 2010
I work in a small developing team with 3 developers and none of us are really 'uber elite programmers' but we get by pretty well for our company. One thing that has been constantly recurring is we keep using the same resources in multiple projects. One example being the fckeditor control, however it stinks to constantly add this folder to every project (I've got the control set-up in my toolbox, but it won't be able to find the code unless you have the folder in there). This also applies with constantly recurring master pages and controls. Now we have made some steps for improving this, including making a 'back end' project where we put our shared functions, and made a CDN for images and scripts. But I still run into issues. For instance all developers must make sure they have the latest version of the back end project checked out, and built. Also when you add a reference to that .dll, the paths have to be the same between developers, otherwise it breaks the reference.
Now I just found out you can add a project reference, which will make the back end project build anytime I build the front-end project, but again you still have to make sure you have the latest version checked out. But I wonder what else I could do? Things I find annoying are making sure the relative locations of the back end project to the front end project has to be the same, and making sure they have the latest version of the back end checked out. Are there better ways to do this?Also the back-end project is a class library, but how can I share resources like a user control? I tried putting a user control in a normal project, and then adding that project as a reference, but it doesn't give you access to the control in the file list like I am used to for dragging into a page.
We have two projects. One is in MVC and the other is the traditional Asp.Net project. We are trying to share a common Master Page for both the projects. The Master page for the MVC project is already using a form tag with runat="server" attribute because it's using a traditional ASP.Net control for the navigation menu. The ContentPlaceHolder is outside this form.
UPDATE: Found the answer here: [URL] <form id="Form1" runat="server"> ....... <asp:ContentPlaceHolder ID="MainContent" runat="server" /> </form>
I'm pretty sure this is something super easy, but how do i access a resource that is in a separate project using the expression syntax? I thought it would be like so:
I have an ASP.Net website, "MyApp", which contains the following resources files:
WebResources.resx WebResources.es.resx
The website references a library project, "MyLib" from which I want to access those resources files. Here is the code I'm attempting:
var rm = new ResourceManager("MyApp", Assembly.GetExecutingAssembly()); subject = rm.GetString("HelloMessage"); //always string.empty
The problem is that the executing assembly is always "MyLib" instead of "MyApp". Is it possible to access the resource files embedded in the website project from a library project?
I have a ASP.NET project which relies upon the FreeImage .NET wrapper. This is loaded using a reference to a external directory. The wrapper relies upon the FreeImage.dll being present to work (clearly). How do I get Visual Studio to include a reference to the FreeImage dll. It's not a .NET assembly, i think it was built in something else (so I can't add it as a reference).
I don't really want to have a copy for this project as these files reside in a different SVN repository
I am working with a website project here that was created by a 3rd party and trying to implement some localization functionality.
Since there is already a LocalizationModule existing but we do not want to use that kind, I though about using ResourceManager to Translate parts of the site.
Basically the project tree is something like this :
I see on the bottom of blog pages a sharing buttons (Twitter and Facebook), where if clicked the link behind (which is normally the blog page url) the fshare button takes the clicker to the blog site facebook page respectively.
How does one do this in asp.net 2 , does one one use the <%# %> in the url part of these share buttons, are there any examples of how this is done?
I find my self in a situation where I have to choose between either creating a new sp in database and create the middle layer code. so loose some precious development time. also the procedure is likely to contain some joins.Or use two already existing sp(s), the problem of this approach is that I am doing two round trips to database. which can be poor performance especially if I have database in another server.
web design has been hobby of mine for many years now but I am new to ASP.NET. My program language of choice is C# even though Im not very skilled in it.Even though I wish to use C# it seems to me that maybe VB would be of better choice because most of the videos from asp.net use VB primarily even though C# code is availible. So really, would it be better to start with VB even though deep down (I dont know why) I wish to learn C#? Also, I'm struggling with how best to learn it. I get confused when watching the videos (even in the fundamentals section) when it comes to code behind writting.
We have an ASP.Net MVC solution built in VS2008 and TFS2008. We use TFS Build and use Continuous Integration.We have a deployment pipeline that enables us to progress a build, eventually, to our live site...
Internal Dev (immediate deployment following a build) External Dev (used by internal testers to make sure it works on the production server) External Test (used by our client to test themselves) Live (self explanatory).
I have 2 questions relating to thisWhich ones of these should be built in Debug and which in Release?How should I write my TFSBuild.proj files to cope with this strategy?
I have a typical scenario that I'm struggling with from a performance standpoint. The user selects a value from a dropdown and clicks a button. A stored procedure takes that value as an input parameter, executes, and returns the results to a grid. For just one of the values ('All'), the query runs for roughly 2.5 minutes. For the rest of the values the query runs less than 1ms.
Obviously, having the user wait for 2.5 minutes just isn't going to fly. So, what are some typical strategies to handle this? Some of my own thoughts:New table that stores the information for the 'All' value and is generated nightlyCache the data on the caching server
I am developing a clickonce application that talks to the server via WCF. So far it works fine with a WCF service that uses wsHttpBinding to talk to the server.Here's what works so far: -
1. I have a WCF web site named "TotemWCF" that runs on an SBS 2003 server (=IIS V6).
3. There is a contract: IService.vb, containing several contracts like
<OperationContract()> _ Function NTVSearch() As totem.NTViewDataTable[code]......
In initial testing I used this for ALL communication, but it seems to me that it's a bad idea to use streaming for simple "Get a value from the database" communication and it seems to be introducing errors into my program. So my question is: - "What is the best way of managing this, so that Function1 goes via one binding, and Function 2 goes via another binding. Do I create separate services at the level of the web site, the contract, the service, or the function?
my current question is tightly related to this one, but is far more specific. We have to plan a design strategy for the objective described in that question. We want to do this by rewriting HTML on ASP.NET web forms. My question is: which strategy is the best according to parameters of feasibility, performance impact and implementation effort on legacy applications.
what I have to do is to basically get the HTML output of a Web Form, parse it, and replace certain URLs according to user-defined rules. In that example, I would rewrite all static content to CDN URLs, but it can be easily extended to URL rewriting techniques. I found lots (and I really mean lots) of articles about URL rewriting from the perspective of having URLs like [URL]interpreted as [URL] but I found none showing me how to smartly format old-style URLs to shorter format right from inside HTML (so the page will render the short-form URL directly) [edit] without deep code intervention.
Strategy 1
Like suggested in an answer of the above question, write an HTTP Module that intercepts the HTML and rewrites it. Actually, I looked around and saw I can set a Response.Filter stream object that performs the HTML filtering.
Pros: I can inject the HTTP Module on a legacy application, configure rewriting rules via XML and have the oldest CRM/ecommerce application load static content from a CDN without touching its code at all.
Cons: I suspected that (and a comment here confirms my suspects) having to reimplement a Stream's Write method, which operates on a partial buffer in the general case, can result in bad replacements. Suppose the Write method is first called with a chunk like [URL] (where I assume <img src="h was already written before) and later ge.png" /> (so guess the final URL :-P) with a rewrite rule that regexes [URL][^"]* into [URL] the substitution is not done. To workaround that, I could use a MemoryStream or something like that to buffer the complete set of data and then perform the substitutions, but it could cause troubles on highly loaded servers
Strategy 2
Overriding Page's Render method in a way such as described here
Pros: doesn't suffer the chunking problem
Cons: requires defining a base class for all pages. Feasible on new applications, not sure for maintaining legacy applications. Seems has a problem as you cannot instantiate HttpTextWriter directly Obviously, for the new webapps we'll have to develop, I would adopt strategy 2, but I really like using dynamic components a lot, as they can be plugged with ease when application requires them (so if our new app will be installed without a CDN the feature is turned off).
Briefly, my questions are How would you fix both strategies' cons (particularly 1st)? And, of course, do you have other strategies to suggest to achieve this objective?
I am about to a client develop a mobile version of their EPiServer site. The mobile version should have different functionality than the regular but some content might be shared so that it won't have be maintained twice.
I'm thinking about using jQuery Mobile as the user interface system to reach as many users as possible with the same solution and possibly 51degrees.mobi for best detection of mobile devices.
Does anyone have any experience in how to do this with EPiServer? How to structure? I'm thinking of using a sub-node (/mobile) that gets hidden on the regular site but I'm not sure it's the best solution.
I've been developing a database system that stores test results from two different machines. (It's a foundry, each machine tests for the amounts of a collection of elements in a piece of metal. One machine does the tests on iron, the second on aluminium. Both produce the same list, but each machine will have much more of some elements than others.)
I used folder security to limit who has access to what folders, so there is a general page for anyone to view results from any machine in the root, one folder has a page to allow people in a particular group to edit/correct the iron results, and a second folder has a page to allow another group of people to edit/correct the aluminium results. Now, we've picked up a third machine which tests aluminium samples too, and it belongs to a third group of people. What is the best or recommended method to allow this third group to edit samples from the third machine only?
1) Should I have a third folder, and copy in the page from the other aluminium folder, and tweak it so it only shows and allows edits to results from this new machine? This seems like the quickest, easiest method, but a waste of effort as it's mostly duplication of existing work.
2) The other option I see is to keep one aluminium editing page, but to limit the results that are shown to the ones that the current user should be allowed to see. (One page which shows one group of people one half of the results, and shows a second group of people the other half of the results). Is there a way to achieve this that is almost as easy as using folder-based permissions?
I have been tasked with implementing a strategy to catch all errors in an ASP.net application which cause a user request or interaction to crash and then e-mailk this exception to a support team in advance of a user calling about the error.Some errors however are not causing the page to crash or be redirected to the custom error page but these are being emailed to the support team instead of simply being loggedMy requirement is to seperate what exception types will cause a page fail and which will not.Example I am currently receiving a System.Web.HttpUnHandledException which is not causing any page to fall over and therefore is not of relevance to the support team. this can be logged but does not require emailing.
what is the recommended data access strategy for the following environment: single stored procedure, many parameters, asp.net 4.0, sql server 2008, and the stored proc returns 11 different recordsets, all of which get displayed in various different elements too complex and specific to be handled by server controls.
How to use cache dependencies in MVC?So far, I follow the caching tutorial (http://weblogs.asp.net/rashid/archive/2008/03/28/asp-net-mvc-action-filter-caching-and-compression.aspx) but what if changes occured in the database and the page is still cached. [:(]
How to clear cached pages when new data is inserted?
When looking at ASP.NET MVC 3 and WebPages (the 'simple' web application framework used by WebMatrix) I noticed that these frameworks take a dependency on assemblies and/or namespaces that do not fit the familiar naming style for ASP.NET:
Most if not all assemblies/namespaces up until and including ASP.NET 4 and ASP.NET MVC 2 are called *System.Web.** Why did they do it? Is this 'a trap' or is that too cynical? Some context (from the [Mono 2.10 Release Notes][1]):
> Although ASP.NET MVC3 is open source > and licensed under the terms of the > MS-PL license, it takes a few > dependencies on new libraries that are > not open source nor are they part of > the Microsoft.NET Framework. > > At this point we do not have open > source implementations of those > libraries, so we can not ship the full > ASP.NET MVC3 stack with Mono.
When I turn on Code Coverage in my test settings, on a project that references the Unity DI container I get the following error:
Cannot initialize the ASP.NET project'{Project Name}'.
The event log specifies the following reason:
Could not load file or assembly 'Microsoft.Practices.Unity, Version=2.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Strong name signature could not be verified.
I am trying to create an ASP.NET MVC application, using Spring.NET to inject dependencies. The application has three tiers: Controller, Service, and Data. I have defined the objects in the file "~Resourcesobjects.xml". My first object, UserAccountController, requires the injection of two Service-tier classes: UserAccountService and DepartmentService. So, the definition in objects.xml looks like this: