Architecture :: Best Practices For Test & Development Environments?
Jul 9, 2010
This question is for ASP.NET and SQL Server developers. What are your best practices with respect to setting up your development and test environment? I'm interesting in the following issues:
1. How many tiers do you recommend and what goes on on each tier? Just dev, test, and production or perhaps dev, test, staging, and production?
2. Which types of applications and/or servers should run on actual physical hardware and which can get away with a VM?
3. What are your strategies for loosely coupling users from web sites, web developers from their web/app/DB servers, and DB developers from their DB servers?
4. How do developers stay "DRY?"
5. What are the pros and cons to putting web, app, and DB servers on their own machines? Does putting servers on separate machines in order to minimize contention for a machine's resources trump any NIC and network latencies that might be introduced by putting them on different machines?
6. How do you configure your web apps to minimize contention for resources (e.g. virtual directories, separate application pools, etc.)
7. How and how often do you refresh your databases on each tier? Do you just refresh the data or both the data and objects?
This question is for ASP.NET and SQL Server developers. What are your best practices with respect to setting up your development and test environment? I'm interesting in the following issues: How many tiers do you recommend and what goes on on each tier? Just dev, test, and production or perhaps dev, test, staging, and production? Which types of applications and/or servers should run on actual physical hardware and which can get away with a VM? What are your strategies for loosely coupling users from web sites, web developers from their web/app/DB servers, and DB developers from their DB servers?
How do developers stay "DRY?" What are the pros and cons to putting web, app, and DB servers on their own machines? Does putting servers on separate machines in order to minimize contention for a machine's resources trump any NIC and network latencies that might be introduced by putting them on different machines? How do you configure your web apps to minimize contention for resources (e.g. virtual directories, separate application pools, etc.) How and how often do you refresh your databases on each tier? Do you just refresh the data or both the data and objects?
We are in the midst of developing WEB application using .NET. so, i would like to know the Best practises for ASP.NET development, SQL server db, IIS security and network security as well. Where to get the information? I googled for it, but i cannot get the complete set and the info was updated 7 years ago. [URL]
In my project i'm using the concept of impersonation to implement "File Upload functionality".i.e.
to save the file uploaded to a network share.This n/w share is accessible to an application id only.So i'm impersonating with that user id when uploading a file. I'm importing "advapi32.dll" and using the LOGONUSERA method of that dll to validate the user and get the token for that userid and then impersonate using the Token returned. THis approach is working fine in the development environment but LOGONUSERA always fails in TEST and PRODUCTION environments. It always return "0" which means user id is invalid and the token is zero hence i cannot impersonate. Is it something related to accessing the dll in other environments? Any suggestions to resolve this issue will be a great helpp for us. We are hung with this issue for the past 5 days.
I have seen the examples on how to switch between connections strings for development and production enviroments. My web.config also calls out a connection string for <roleManager and membership><providers>. Can this be setup to switch between the two connection strings?
I'm currently in the process of creating a library app to use inconjunction with websites. Note: NOT JUST ASP.NET SITES. I say this because i've made the dll available to COM and it works, I can reference it from VB6 and see the types/functions/enums etc...My question though is this: I like using List<type> in c# and I know if this dll was only to be used with .net sites then there would be no issue but how would a List<type> be returned to a different environment. Can they recognize this?
I am working to rebuild my company's dev/test/QA environment. We have 10-15 programmers that are involved in a number of projects. They currently all develop locally on their PCs and use the dev environment for testing. We currently do not have a QA environment, so deployments are frequently a pain because bugs are usually found after something has gone live. Here's what I envision:
Doing away with everyone's local admin privileges and making everyone develop on a dev server. Create a QA environment that is identical to our production systems. This will allow them to test deployments. Create a new test environment that is more locked down than the dev server so that proper testing can be done. What are your thoughts? What is the best way to set up an environment like this? We develop ASP .NET applications using MS Visual Studio 2008.
I have a .Net 2 solution with some asp classic pages.I get a specified cast is not valid error when I access the page on my local. Below is the vb function where I get the Error:
Public Function Retrieve(ByVal vntSeqId As String, ByRef vntPart As String, ByRef vntPartKey As String, ByRef vntEntDate As String _ , ByRef vntStatus As String, ByRef vntOrigGblId As String, ByRef vntOrigNetId As String, ByRef vntOrigName As String, ByRef vntOrigPhone As String _ [code]...
At first, I thought the problem is with the source code and we were thinking the source code we have is different with the ones deployed on test and prod servers. But when I tried to upload it on the test server, I don't get the specified cast is not valid error.
I'm still trying to understand and use Use Cases and Test Driven Development, but having a hard time crossing the line. I'm hoping someone can provide a good example of how setting a datasource and/or databinding a gridview could be accomplished using Test Driven Development.reate an aspx page and add the gridview control to it.create a method in the code behind called BindGrid(datacollection,gridview) that passes the collection and gridview to a method in a class outside my website so I can actually write the Unit test for the method, and returns a databound gridview.On the BindGrid method, I right click and select "Create Unit Test" which creates a new test project for me with an outline test for my BindGrid() method.Now I guess there are a number of test I could write, for example:testTrueDataCollectionBindstoGridView() to see if the collection datatype actually binds? I'm not sure the other test to write?This is how I currently understand I would go about TDD and Unit testing my example. It feels very clumsy and I'm hoping for some feedback as to what I'm doing wrong, and ideas for improvement.How would you go about writing a test for a collection binding to a control? For example say I wanted to bind a dictionary to a drop down list. What test should I be writing, and how would I go about writing them?
I created a simple web service in VS2010 (C# - XP Professional SP3 development computer -- running .Net 3.5/4.0) that just does the basic "Hello World" and changes Temperatues from Farenhet to Celcius functions and ran fine in VS2010. I then created a directory in C:Inetpubwwwrootwebsvcvs10a (of the same development computer). In the localhost IIS I converted this to an application directory (properties/create application). I tried to deploy my web service here using the publish wizard of VS2010 but was getting errors stating that the URL was not in the correct format, so I decided to just copy myService1.asmx, Web.Config, and the bin folder (which contains the compiled assembly) directly to C:Inetpubwwwrootwebsvcvs10a. Then from the localhost IIS I tried to browse myService1.asmx and received the following error:
Configuration Error Description:An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive.
Version Information: Microsoft .NET Framework Version:2.0.50727.3615; ASP.NET Version:2.0.50727.3618
--I tried changing the targetFramework to 3.5 in web.config, but that did not fix the problem. I then removed the targetFramework attribute from web.config and then got this error message:
Could not load file or assembly 'myVS2010Websvc' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
Description:An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.BadImageFormatException: Could not load file or assembly 'myVS2010Websvc' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
What can I / should I do to resolve this problem so that I can deploy this web service project to localhost -- don't I already have .Net 4.0 runtime on this machine? It is the same machine that is running VS2010.
I am developing a single web application that will dynamically change its content depending on which domain name is used to reach the site. Multiple domains will point to the same application. I wish to use the following code (or something close) to detect the domain name and perform the customizations:
[code]....
I would like to test the functionality of the above using the ASP.NET development server. I created mappings in the local HOSTS file to map [URL] to 127.0.0.1, and [URL] to 127.0.0.1. I then browse to the application with the browser using [URL] (etc).
When I try to test this code using the ASP.net development server the [URL] always says localhost. It does NOT capture the host entered in the browser, only localhost.
Is there a way to test the URL detection functionality using the development server?
How can I test an application that I am publishing to a remote provider's IIS7 hosted site, with the VS2008 development server that is built in with VS2008 on an XP Machine?
My membership/roles work perfectly up on the remote host. On ths hosted IIS7 site when I try to access a secure directory it redirects to login, and I am able to login, however when I launch (debug - F5) from VS2008, it will provide that folder/resource, no questions asked. Same build, config, etc... nothing has changed.
I am running XP, and local IIS version installed is 5.1.
My guess is what is happening is that the new format required in the web.config is configured properly for IIS7 deployment, which is why it works remotely, but when running locally through VS2008/XP it is running with an older version on IIS and does not recoginize the new tags.
1. Can you explain me what is component based development ? What I am already doing is using layers (user interface, custom types, data access layer and busines logic layer). For example for filling a drop down list with countries what I do is getting data from DAL using custom types in my BLL and BLL return a list of countries to user interface. Now in my opinion it is a plug-able component that I can use anywhere. Should it be called a component ?
2. What is a component a method ? or class or a assambly ?
3. Can components be like that (methods and assemblies) or they are services to embed ?
4. Actually I never have used services, if component can be in both ways (services & classes and assemblies) than what approach is better, should component be made in form of assemblies or services ?
5. Without being so technical any general rules on making re-usable components ?
Is there any way to seperate development of different modules in a application other than using namespaces? I want to be able to define interfaces between the modules and unit test them seperately.
Actually i dont know whther this is the correct forum or not? but i didnt found any other section to post a question like this.Actually i am in . I need to document the service i developed so when my absence or something the other developer can understand my way and code.The aim is to specify the module descriptions, needs and business logic i used to implement. So the next developer can understandCan anyone tell me the name of this document. Developer Document ? Please tell the correct name of this and any link to download any template to undertand. Please dont take it as simple question
I need to build a page to test online video speed.
video will be uploaded in my webserver and there is no flash play in the server. I need to have two players. one is window media player, second is a flashplayer (prefer using google player)
Page layout:
Windows media player
report of speed testing
Flash player
report of speed testing
report requirement
1.length of video
2. total time that spend to load this video (dynamic is better)
3. average download and upload speed during playing the video
We have a couple of ASP.NET applications running here at work and our users get the test site confused with the production site. What is the best way to help the users know they are at the test site. Is there a best practice for how this can be accomplished? Maybe have a custom control or something on the screen display "TEST SITE"?
I have created an ASP.NET website which accesses a DB. The DB can will be alrady installed at target machine. It can be anything from SQL server 2000 to SQL server 2008. Further more the target OS can be anything from Windows server 2000 to Windows 7. I have kept the target .Net framework version as .Net 2.0 to keep matters simple. Also, the target machine can be x86 or x64 or Itanium. Do I need to create separate builds for different target platforms? How do I create an Installer which will : Put this website on a Virtual Directory of IIS server(can be any IIS version) Detect the target platform and install the appropriate build. I need to do this either using the standard MSI installer of VS2008 or using WiX or any open source installer for that matter.
what MVC stands for,but if I'm already developing .NET websites without it,is there any reason I would need/want to use it?is it designed for people who already have experience with developing in an MVC environment and wanted a ".net"version of it?Is there some "head-to-head" comparison of MVC against other programming environments or techniques that have been written? It seems like what I might gain in development speed I might lose in flexibility.maybe I just don't understand what all the fuss is about.hence this post!
We deployed our legacy ASP.NET application to production after successful test deployments to our staging environment. The application makes use of RequiredFieldValidators on one particular registration page. On our development and stage environments, the validators successfully detect empty fields when "Submit" is clicked, error messages are displayed, and form submission is prevented. But on production, the validators do not display error messages. Clicking submit will cause a postback, the code-behind checks for Page.IsValid and correctly detects the form has missing fields, but the registration form is redisplayed with no error messages (ie "Please enter an email") to the user.Sample: (note I dont explicitly declare EnableClientScript or SetFocusOnError)
<asp:requiredfieldvalidator id=Requiredfieldvalidator1 runat="server" CssClass="NormalRed" Display="Dynamic" ErrorMessage="Please enter an email." ControlToValidate="txtEmail"></asp:requiredfieldvalidator>
Both environments (stage and production) are identical: Win2K3 Server and IIS 7, SQL Server 2008, and ASP.NET 1.1 runtime (embarrassingly).
What is the best way to store/access connection strings and most importantly the URLs for different environments (dev, validation, production). I'm using ASP.NET 1.1.