How To Change A Web Reference In A Production .NET Website
Feb 25, 2010
Our web reference does not seem to be defined in web.config of the website that consumes it. I found that there is a configuration file called "Reference.map" in the "Web References" folder that looks editable, but when I edit them nothing happens. I even renamed the WSDL file in the folder to see if it would get a new one. It did not.
Do I have to do a build just to change the URL of a referenced Web Service?
When you use ASP.NET web site (instead of web application model) and add reference to an assembly from local folder, Visual Studio, it seems, understands that this local assembly is also in GAC and so does NOT copy this assembly to bin folder (as it does with non-GAC assemblies), but simply adds new record in web.config file.
Why such a behaviour? Is it possible to force copy to bin folder (I need this since .dll is not on target environment)? I can add assembly to bin folder as file and it will work, but in this case bin folder contents will be in source control, which is not good.
In my .cs page I am setting a value for a variable [count = 12]. count is a var, which I have declared on the aspx page.
Now I have to change the vlaue of the count = 13. which should be written in the !IspostBack event in the Page_Load(). But the issue is this that it's a very small change and I can't re deploy my website for this small change.
Is their any way I can modify the code in the production site whitout re deploying it?
Is there a way that I can trace every method, basically a line trace, in an asp.net web site in production environment?
I don't want to go about creating db logging for every line - i see an intermittent error and would like to see every line called and performed by the website per user.
I have created the asp.net application and Hosted on Different Server(i.e Test,Development). its is an Intranet Application But When I tried to Host on Production the WebApplication dont work when I check the "Integerated Authentication" and when I check the "anonymous Access" i get null value for the HttpContext.Current.User.Identity.Name.ToString() returns null. and User.Identity.IsAuthenticated also return false. what changes do I have to make in IIS and Webconfig of my application so that it can run on ProductionSERVER
I'm trying to find the best server architecture solution to deploy monthly updates to an Asp.net external public facing website. What I'm looking for are ways to release a new version of a website with minimal impact to users. Besides deploying the standard way (ie. stop IIS, copy new website over existing website, start IIS), what are some "better" solutions for deployment out there? It would be nice if they kept their session and didn't have to see a "Website under maintenance" message during the update. My server configuration
We have 2 IIS web servers (2003) and are trying to figure out the best way to utilize them for deployments. My first thought was to update the non-active web server with the latest release. Then to gracefully point the web traffic to that server with minimal impact to users (best case, the user doesn't lose his session). How would you go about "repointing" the web traffic from server 1 to server 2? Changing firewall NAT? Changing DNS records? Some other way?? We need to be able to test the live site immediately after we release the new changes (duh). BTW, we are using nant and cruise control to automate the builds, and a custom web service to deploy the build to production. So it's all automated with the click of a button. Could a better solution be achieved using a 3rd server? If so how?
I have a development machine and a server. problem is that whenever I publish a website I need to change manually debug=false.....its frustrating as I am publish almost everyday new version.
I have a site in asp.net and I use paypal sandboox what I need to do now ? (if I need to change the web referfnce what is url ? at sandbox is Works fine .
It worked just fine untill this week, but now it fails to login.
the odd think is that it do login from localhost, but when trying to login through the profuction site it fails to login. this is happens to all users.
I've got MS Chart control and with a references to GAC.I found them ( C:Program FilesMicrosoft Chart ControlsAssemblies )but how to change GAC to local copy (bin) for comparability with other servers without installed MS Chart control for VS .I've tried to add dll files manually but that was a fail.It's looking like I need to config Web.Config manually.
I built an ASP.NET 4.0 Web Site. It works perfectly on my development computer. However, when I deploy the web site to theProduction Server, which is a Win2003 Small Business with Sql Server 2000, the site can't connect to the database.
These are the different tests I've made:
I tried using Integrated Windows authentication and this connection string: Data Source=myServerAddress;Initial Catalog=myDataBase;Integratedsecurity=true; and the error I got was that NT Authority/Network Service couldn't open the database. So I added that account to my database users list and gave it the appropiate permissions. Nothing.I tried using Sql Server authentication, so I created a new database user with a password and changed my connection string toData Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;. Nothing. I still got the same NT Authority user message.I deleted the used I created in step 2 and used the same connection string, to see if this time I got an error saying something about my user, and indeed it happened. I got an exception saying that user myUsername couldn't log on. I then created the user again, ang got the NT Authority user message one more time.I created a console application that used the same connection string from steps 2 and 3, and it connected to the database witouth any problem, which made me think that my problem's got something to do with my Web.config.I tried enabling impersonation on my Web.config, and thos time I got the same error message, only referring to the user I logged in to Windows, instead of NT Authority/Network service. What else could I check? My Web.config is this in case it helps (I havn't really put anything into it other than what VS puts):
I have web project and class projects. one of the Class project has web reference. and i am consuming it in web project.Question: can I change class projects web reference url depending on environment DEV, Release, Test?Question: While in runtime why does not web reference's url take value from app.config?(it is taking value from Settings.settings.)
i tried adding reference of system.windows.forms dll to my web site. But it is not getting added. If i add a reference of a dll of another project inside the assembly that gets added. Is it not possible to add reference of a system dll in website?
We have a web site that sits on a DotNetNuke platform and all of our coded modules are written in VB.Net for consistency. However, we have been sent a web page that works as a link and it is written in C# and references a cs file in its App_Code folder. If we try and load this into our website we get an error saying that it is not written in VB we then tried converting the homepage to VB but the reference folder is very complex and written in C#. Can we load the reference file even though it is C# and reference it using VB code. The current all is OurRemService RemService = New OurRemService(); where OurRemService is a file in the App_Code folder in the web page folder. The only other way around this is for us to set it up in IIS as a virtual directory and reference it directly but we would prefer to integrate it into our website.
In development I installed "ODAC Entity Framework and LINQ Beta (11.2.0.2.30)" so that we could have a 32 bit version of Oracle.DataAccess for ODP.Net. In Visual Studio 2010 (on Windows Server 2008 R2) I made a reference to:
C:Oracleodp.netin4Oracle.DataAccess.dll.This adds: <add assembly="Oracle.DataAccess, Version=4.112.2.30, Culture=neutral, PublicKeyToken=89B483F429C47342" /> to the assembly in the web.config.
We set the AppPool to Enable 32 bit applications and everything works great. For anyone who doesn't know the story here, we do this because Visual Studio 2010 runs in 32 bit so you need the 32 bit ODAC/ODP.net components to get a development environment running. I then publish the files and move to a 64 bit machine.
I downloaded the "ODAC112021Xcopy_x64.zip" Then ran: install.bat odp.net4 c:oracle odac and I can see the Oracle.DataAccess.dll file at: C:Oracleodp.netin4Oracle.DataAccess.dll. Then added c:oracle;c:oraclein;c:oraclein4 to the System Path.
At this point I would think I just replace the version and PulbicKeyToken in: <add assembly="Oracle.DataAccess, Version=4.112.2.30, Culture=neutral, PublicKeyToken=89B483F429C47342" /> on production to the versioin installed on prod. So first thing I do is just remove that line on production to see what error I will get. And I still get the same error:
System.IO.FileLoadException: Could not load file or assembly 'Oracle.DataAccess, Version=4.112.2.30, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Actually this is if I move the new dll into the applicaitons bin directory. If I remove the dll from the directory I get: Could not load file or assembly 'Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.
So I put the line back in.
I right click on on the new Oracle.DataAccess.dll and click properties. In the details tab I see verion is 4.112.2.0. That makes sense. The 64 bit XCopy version is an earlier build then the 32 bit Beta that comes with Entity Framework and LINQ(Version=4.112.2.30).
So on production I change the Version attribute to: 4.112.2.0. But now I get the same error: System.IO.FileLoadException: Could not load file or assembly 'Oracle.DataAccess, Version=4.112.2.30, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) (This is with the new dll back in the web app's bin directory as is the rest of the thread).
It's still looking for the same version of the assembly. Why is it doing that? The web.config has a connection string with the ODP.Net provider type (Oracle.DataAccess.Client). Which would take from the assembly reference. It should not care what the version number is. Could there be something in code somewhere that is specifically looking for the old dev box version? Just what is the way to make it use the new assembly?
I would think the system would just know where to find the new dll. Just as in development the add reference dialog knew that the dll was in c:oracle... rather then c:program files(x86)... like out-of-the-box Microsoft assemblies.
I have an asp.net website with a reference to a class library. I can reference the class library in the aspx pages but how do I configure my site so that I can also reference the class library from a .cs file in app code?
I have a vs2008 Website project(it was converted from vs2005), when i right click the Website node in the solution and open the property page, i select the references link, then click add reference to Oracle.DataAccess.dll(11g, 64bits), Version=2.112.2.0 in the website BIN directory, it doesn't work, i don't see the Oracle.DataAccess.dll is added, Can you give me any advice why the website project can not add the Oracle.DataAccess.dll ? And I can add rOracle.DataAccess.dll to my other Web Application project, what difference between Website project and Web applicatoin project caused the issue? Since i can not add the Oracle.DataAccess.dll , when i compile, it gave the error:
Could not load file or assembly 'Oracle.DataAccess, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. An attempt was made to load a program with an incorrect format.
I'm aware of the following two different types of web projects in Visual Studio 2008:Website projectWeb application projectA web application project can reference a signed assembly as long as the web application's assembly is also signed with the same key. However, this doesn't work with the website project because there is no place to sign an assembly. I think this is because the assembly is compiled dynamically on the server?
Anyway, is it possible to get the website project working with this signed assembly? Or will I have to convert this website project into a web application project?Edit:The following situation has required me to ask for clarification in this matter:I have a class library that is being referenced by several other projects in my solution in Visual Studio. One of the projects is a windows application that will be deployed to specific external users. In order to make sure that the application is using the correct assembly and to also prevent others from using the assembly (I am aware of the limitations with respect to its effectiveness), all assemblies have been signed and all the classes in the library are declared as Friend (internal).
The website project doesn't seem to have a way for me to sign its assembly and I get the following message when attempting to use anything from the library: "CLASS is not assessable in this context because it is 'Friend'", which is to be expected.The following attributes are inside the AssemblyInfo.vb file in my class library project:
My Conclusion:Looks like the cleanest way to do this would be to convert the website into a web application but this would require a bit of time to do since our site is pretty fleshed out already and as pointed out in other discussions, can be quite a pain to do. Going forward, I think creating a web application in the first place may have been a better idea and much more flexible for future development.