How To Use HttpContext Of An Existing Web Site From A Web Service
Sep 27, 2010
I am building a web service which uses some of an existing web site's methods. However, some classes and methods cannot be used (for example Redirect - which obivously throws an exception when not invoked from a web site's context).
Now I came to a section in code where
HttpContext.Current.Application.Get(keyNames.EncodedKey) Is used. (Where keyNames is a struct, and EncodedKey is a string.)but HttpContext.Current is null..
What is a valid substitution for HttpContext.Current.Application.Get?
I should mention that I've only checked this from a unit test, not the web service itself and following Darin's answer I realize that is the problem, so the question now is- how to mock HttpContext.Current(using moq)?
I am neither a server administrator nor very knowledgable about how to configure IIS, so I have the following problem:
My client hosts their public website from their own internal server running Server 2003 with IIS 6. The current website is a .NET 1.1 application configured as a website in IIS. Within this site a separate virtual directory configured as an application runs a separate .NET 1.1 app that serves as their online webstore.
I've been tasked with upgrading the website (not the webstore) to .NET 4 and getting it installed and working on their server. My initial plan was to simply change the existing websites home directory to the new home directory from the IIS admin console and be done, but then I read that this would break the application directory that hosts their online store because .NET 1.1 applications cannot be nested within .NET 4 applications. Can anyone confirm this?
I created an AutocompleteExtender web service. I am getting a Object reference not set error in the peice of the code where I am referring to System.Web.HttpContext.Current.Session. Does anyone know why this is. And I am checking to see if it is != null before I reference it. But it crashes. Is there another way to pass another parameter to the web service?
I have developed an ASP.NET Web Application and am now looking in to integrating a CMS into it. Is there any open source tool that allows me to this?
I have many existing pages, with content in them, and want to make it possible to simply have some sort of plugin that can be used to add or edit the content - I am willing to convert the existing static content into the CMS database but want to keep the other functionality I have developed (A custom authorisation framework, a site layout and styling using master pages etc).
I have asp.net 2.0 site which is calling web services hosted on another server. When i have an xml file from where web service ip for eg. www.mysite/webservice1/myservice.asmx is given. When i call the same server from developer machine using local networkit works fine.But the same is when hosted remotely and from client end when services is called reading xml fiile from client machine it given a message 'remote server not connecting'.
I've been asked to create an expansion in ASP.NET (at say www.newsite.com) to a current website (at, say www.oldsite.com) that uses WordPress. The existing site will have a new link added to it, when clicked this will link to my new content. So far, so simple, however it has been requested that the address displayed be the same as the existing site- i.e. when the user clicks on a link to the new site it goes to my new site but the address shown is still www.oldsite.com/newcontent rather than www.newsite.com
I probably haven't explained this very well, but is it possible to do this without modification of the original site as this is maintained by a different company.
I have a new asmx web service (written with .Net 3.5), I'll be accessing this service from a Silverlight 3 app, and I want to add the service to an existing asp.net web site (written with .Net 2.0). How do I go about doing that? I tried the obvious route of just copying the entire project folder to the web site, but I experienced a number of errors when trying to view the asmx page from a browser.
There's already a service on the web site, and all it has is the asmx file, the dll and a web.config in the folder, and that's where I'm at right now with me new service. It appears to instantiate just fine, but when I call a method in t, nothing happens (the AsyncCompleted events never fire).
What options do I have for adding a blog to an existing ASP.NET Web Forms web site. Ideally it should be able to transition to MVS as and when my site does.
I'm working on an existing site based on nopCommerce 1.6 CMS (.Net 3.5) I'm using VS2010 and C#.I can create new pages and new .cs code to go with it but when I'm trying to chage existng code on .aspx pages inside the nopCommerce classes I can't build/re-build the project. the compiler just can't find the chages to the .cs code for example - when I add a simple button to the .aspx and an OnClick event to the .cs and trying to build the project it just can't find the OnClick event code on the codeBehind page and the build fails.I understand the project is pre-compiled (there are alot of .dll files in the bin directory)
even if I'll delete the entire .cs file and build the build will succeed - it is as if the build doesn't work at all... doesn't the build/re-build suppose to re-create the .dll files? I've tried changing the target .Net framework for the compiler - doesn't seem to be the problem here.Another thing - every .aspx page comes with both .cs file and .designer.cs file. the .designer.cs file look something like this: [Code]....
I have a service. I have an existing class of business objects. What I would like to know is how can I pass a class through WCF from the business object assembly without having to create a new class in my WCF site while appending or tags?
We're migrating an application to use IIS7 integrated mode. In library code that is designed to work either within the context of an HTTP request or not, we commonly have code like this:
if (HttpContext.Current != null && HttpContext.Current.Request != null) { // do something with HttpContext.Current.Request } else { // do equivalent thing without HttpContext.. }
But in IIS7 integrated mode the check for HttpContext.Current.Request throws an exception whenever this code is called from Application_Start.
System.Web.HttpException: Request is not available in this context
How can I detect whether the request is really available without wrapping these calls in an exception handler and taking action based on whether an exception is generated or not.
Looking at HttpContext in Reflector I see it has an internal bool HideRequestResponse field but it's internal so I can only get to it with reflection and that's fragile. Is there a more official/approved way to determine if it's ok to call HttpContext.Request?
This blog post about the subject says not to use HttpContext, but how, in generic library code, can you determine if it's ok to use HttpContext?
I'm using the work-around mentioned there which is to use Application_BeginRequest and an initialized field to only initialize once as part of BeginRequest, but that has to be done in every calling application whereas I'd prefer to make the library code more robust and handle this situation regardless of where it's called from.
I added a Web Method to the existing web service. I don't see this method in my web project. I can see all the old methods but I couldn't access this method. Do I have to create proxy for this method?
I've been reading quite a few tutorials on web services and xml files and one thing isn't quite clear to me. If I want to create an XML file on the fly the tutorials are pretty straight forward but, I want to grab an existing XML file from the web server and return the whole thing. Do I need to read the XML file and send each individual node or is there a way to send the file all at once? The tutorials imply that the whole file could be a node but I'm not clear on what that entails or if it would work. Also do you have a link to an example?
We have a web service running live. Last week, we pulled the source code down to my machine and successfully built it.
My goal is to become familiar with this code and document it. My problem is that I am not sure how to get it running locally.
First of all, I have to configure it in IIS or something? How do I do that, and is that indeed the right place to begin? I tried creating a consumer in a separate VS solution, and when I said browse for local web services it said "Active Directory Services cannot find the web server."
I tried this link, but got lost when it said "3.Under Visual Studio installed templates, click ASP.NET Web Service." because I don't have that template.
I have a WCF service which has 4 Operation contracts.
I have added a new contract and it gets the data from database and returns the result set.
I can access the new contract and the service get the correct result set. But while passing the result set to the client I get the error of The underlying connection was closed: The connection was closed unexpectedly.
What are the steps to follow after adding a new contract like new binding etc.
Is it possible to have a web Service and Website in the same application. The web service would be [URL] and website [URL] Both would share the same code for logic and data access
I'm trying to consume a WSE enabled Web Service from an ASP.NET Web Site.I've installed WSE 3.0, used the config tool to add WSE info to my web.config and then done an Add Web Reference.I believe that the problem may be that this is a Web SITE, not a Web APPLICATION. As such, the proxy class is generated at runtime, perhaps not adding the WSE magic.I can access the proxy class from metadata, and it's of typeSystem.Web.Services.Protocols.SoapHttpClientProtocol, which as far as I can tell doesn't have any WSE functionality.I realize that this is all old technology, but I don't get to decide what the servers run :(
I want to pull down a feed (like twitter) and place in on a page using javascript (jquery). Ultimately, the "service" just needs to hand off JSON. I created a web service that allows me to do that, sort of. I don't know if using a stream reader is all that efficient and I was a little bothered by having to use what amounts to 2 evals on the clientside.
My question is twofold: is there a better method than using a web service and two, is there a problem with my implementation?
I have a website that seems to be Ok in Mozilla but when I access some pages in IE (mostly the ones where it has to contact a web service) the page hangs. If I refresh and then click the same button again, it seems to work fine 90% of the time. As mentioned, the same features work flawlessly in Mozilla.I am not really sure where I need to go to start debugging this but does anyone have any ideas on a cause?The website is hosted on my machine which is running on localhost using IIS7 on Vista and the web service is hosted in the same place. (So all it should need to do is contact itself). Its is an ASP.NET website running framework 2.0 (something)
I am planning to build a news publication website that should be automatically scalable when traffic is increasing. I have good experience in developing web applications using ASP.NET and PHP. To move forward on selection of specific technology here are some questions for which I need some clarifications.
My primary intention is to reduce the hosting charges. If we choose LAMP this will cost lower than ASP.NET on Windows. As my intention is to host web application on cloud service, will this make any difference? Means, for dedicated servers we need to pay extra cost for Windows O/S if you compare it with Linux. If we go for cloud servers, will they charge anything for O/S for each instance or will they just charge on computation hours irrespective of Operating System?
Do we have complete control (like dedicated server) on cloud instance to install any other softwares? Do we need to host web server and and database server on multiple instances when traffic is increasing or will a big size instance can handle huge traffic?
I have been experimenting with code that will clear all of the cookies in an HttpContext.Response.Initially, I used this:
DateTime cookieExpires = DateTime.Now.AddDays(-1); for (int i = 0; i < HttpContext.Request.Cookies.Count; i++) { HttpContext.Response.Cookies.Add( new HttpCookie(HttpContext.Request.Cookies[i].Name, null) { Expires = cookieExpires }); }
this will error with an OutOfMemoryException because the for loop never exits - each time you add a cookie to the Response, it also gets added to the `Request.