C# - Map A Virtual Directory For *.asmx Methods In ASP.Net 2.0?
Jun 7, 2012
A little while ago, I managed to get WebServices to return JSON as well as XML from the code-behind of an ASPX.
Today, I needed to migrate an existing ASMX WebService to return JSON instead of XML (which was accomplished with little fuss). My problem became evident in testing the new method.
In the code-behind for the ASMX, I created a new method to return JSON instead of XML. The method works, in that it returns the expected JSON however the new routine breaks every XML-returning method in the code-behind (they all throw "System.NotSupportedException: The type System.Collections.Hashtable is not supported because it implements IDictionary." which is unexpected because the return types are all defined as XmlDocument).
If I simply comment out the JSON-returning method, the XML-returning methods function normally. Uncommenting out the JSON-returning method breaks the XML-returning methods again.
While I cannot find any supporting documentation anywhere, this behavior leads me to believe that in ASP.Net 2.0, JSON-returning methods cannot co-exist in the same module as XML-returning methods.
This led me to try separating the methods in sub-classes like so:
I want to create virtual directory using vb.net. But while creating permission denied error occurs.If im manually creating virtual directory no error..
I am trying to display an image from a Virtual Directory that is within my website. If I use the follwoing code the image is displayed on the on the Page:
Dim sourcefile As String = Server.MapPath("~/Common/Images/Flag.jpg") Response.WriteFile(sourcefile) Response.ContentType = "image/jpg"
But if I try displaying the image in an Image control useing the following code the image isn't displayed:
Dim sourcefile As String = Server.MapPath("~/Common/Images/Flag.jpg") Image1.ImageUrl = sourcefile
Here is the HTML/ASP code:
<div id="contentQE"> <fieldset> <span class="graytitle">The Flag Image
the problem i met is that i have iis 7 running on my pc.in the root file, wwwroot, i have a website folder, namely [apex] which is a virtual directory. in the folder is a bin folder containing a compiled class with namespace.then in an aspx file, i tried to import the namespace and use the class inside the namespace.
[code]...
the namespace and classname has been checked well, no mistake. but at compiling stage, i got "type is not defined " message. ok,then, in iis 7 control panel, i convert the whole website folder from "virtual directory" to "application" type. the problem goes away!
I'm trying to write an application that will allow a non-administrator user to create virtual directories in IIS6. I've tried numerous different ways of impersonating a administrative account but nothing seems to work to create the virtual directory.
Here's some of what I've tried: dim sDirPath as string = "IIS://remotehost/W3svc/1/root" Dim de As DirectoryEntry = New DirectoryEntry() de.Path = sDirPath de.AuthenticationType = AuthenticationTypes.Secure de.Username = tbxUsername.Text [Code] .....
what is the correct way to impersonate another user in winforms application that will allow me to create the virtual directory without the user that's running the application being an administrator on the web server? I know this can be done, IIS manager allows you to use "connect as" checkbox to do it.
I would like these to have their separate "Bin" folders too if possible at all (I tried using "Probing" but I guess that's not allowed for web apps and defaults to "Bin" folder). If not that then definitely some ability for these to work together under one app/virtual directory because I'm not allowed to create another at any cost :(
public class CategoryRepository: RepositoryBase<Category>, ICategoryRepository { public CategoryRepository(IDatabaseFactory databaseFactory) : base(databaseFactory)
[Code]...
Does anyone has an idea what i should change to let it work and let my UserRepository use the methods in RepositoryBase while implementing the IUserRepository?
I am working with a vb program, but there is something strange on one of my .vb code pagewhen i put the "dot" afther the object name its dont show the methods availables for this objectbut on other vb code pages i can see it. but in this one no.for exmaplethis is a piece of code: Dim sb As New StringBuilder()
I am not sure how clear my question is by the title, but I am trying to make Class methods instead of Instance methods in Visual Basic that way I don't have to waste memory and code creating temporary objects to execute methods that don't need instance variables.
I am not sure if you can do that in VB but I know you can in Objective-C by using either a "+" or "-" sign in front of the method declaration. And in C++ (at least I think, I can't remember) you put the static keyword or const keyword in front of the function.How would I do this in VB if it is possible? Or should I just make a separate set of functions that are not members of a class?
How can i turn on debugging when trying to add a service to my VB.net app? How can i change the settings to view it remotely? I tried loading up the .asmx page in IE on that server where the file is being hosted and it just asked me to save the file-would never open it to view as a page. That is the error i get when i try to load the .asmx file from my server.
I'm writing an asmx web service in visual basic, and I would like to put in my web service an enum that should be available to the web service's callers through the wsdl. But how could that be done? I'm writing my enum in the web service class, but it's not being published in the wsdl. I've already done this kind of thing successfully using C#, but I cannot understand how this is done in VB.
Public Class NotifierAuthHeader Inherits SoapHeader Public HandlerId As Integer Public Guid As Byte() End Class
which I use in webservice in following methods:
<OperationContract()><WebMethod()> _ public Function GetTestNotifierAuthHeader() Dim testNotifierAuthHeader as NotifierAuthHeader=new NotifierAuthHeader()
[code]....
I can use GetTestNotifierAuthHeader method at client, but type of return object is..object, not NotifierAuthHeader.asmx service is 3.5 and wpf app is 4.0 c#.
I have some clients calling my asmx service and I figure out to change my asmx to a Wcf service.How can my asmx clients call to my Wcf service without modify the client application?Maybe just a few changes in the config file...I can't expect than they compile their applications.
On my serverside pages (intranet environment), I use the following code to find out which user is using the page:Request.ServerVariables("LOGON_USER")How do I use that command in a webservice (asmx file)? I can't use the line above as I get a message saying that Request is not declared.
I am trying to post data from vb.net application to web service asmx that is located on server! For posting data from vb.net application I am using this code:
I created a dll project in visual studio 2008, and i dont see the add web reference option, only the Service Reference option whish looks like it takes a WCF not a regular asmx web service, is that correct?
OK I am brand new to .asmx creation and I am having a hell of a time figuring out to send a URL to .asmx file. The .asmx file is expecting to receive a parameter named givenURL.The paremeter givenURL needs to be sent from Windows Forms.I need to know how I go about doing this? Do I use SOAP or can I just send it using VB? [code]
I'm building a web service to accept notifications from a company. The company informed me that the service is incorrectly structured and provided me the .asmx of a working web service. It looks like this:
We are developing a webservice for a client. We are not supose to throw SoapExceptions, so instead, we catch every exception server side, and return a custom Exception class.
Public Class Order ... End Class
[Code]....
The problem now is, that since my webmethod is returning the type [Object]. The wdsl that is generated does not contain the order, or the exception.
I can change the [Object] to [Order] Or [MyException], but only one of them is generated in the wsdl.
I want both the MyException type and the Order type in my wsdl, but i just cant get it working.
My ASMX call is returning Content-Type = text/xml; charset=utf-8 I am using ASP.NET 3.5 and jQuery.Ajax. Have added these things are per numerous suggestions from Stack Overflow. I have done these things
Done this at web.config <remove verb="*" path="*.asmx"/> <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> [Code] .....
But whatever I do, the response header is still of type xml. What part am I missing here?
I use jQuery ajax calls to ASP.Net web services (ASMX files) to update the web page data.
I have the database storing code seperate from the domain object class code (in the example code below, there is an Animal class and an AnimalRepository class). I'm implememting a convention that all similar domain object repository classes will have a Store method .
I would like to create a web service that can cater for calling the Store method for any one of these repository classes. To get this to work, in the below code sample, the List(Of Animal) parameter would need to be a generic type.[code]...
We have a set of assemblies which implement web services operations.To build the client proxies, we first build and deploy the web services (assemblies and ASMX files) on the server.Then we use wsdl.exe to point to the ASMX endpoints and generate the classes for the client proxies.I've seen that it is possible to create the proxies from wsdl files (instead of asmx endpoints) using wsdl.exe or disco.exe.Is there a tool to generate wsdl files or event better proxy classes directly from the server assemblies without the need to use a web server?
1) This is a somewhat large project that has been in development for over a couple of years now. The decision to use ASMX web services was made before the existence of WCF.
2) I already thought about writing our own proxy generator and that may be an option if we don't find a tool that does it.
3) We still want to bind to the WSDL contract. What I'm trying to avoid is having a dependency on a web server during the build process.
4) We already auto-generate the proxies in our automated build which runs in TFS Build and that has not been an issue per se. The issue, as I was told, is having to split the build in two parts: server & client. There may be alternatives to avoid the split using some fancy MSBUILD task, but my knowledge on that matter is limited.
5) I do expect the build to brake on TFS Build if the client side code and server side code don't match during compilation. That should have been addressed on the developer's machine before check-in.
6) We have strict control over the server and the client parts. This set of web services serve as a back-end to a Click Once Windows Forms application. Everything runs on an intranet. Every time the contract changes, it is done in tandem with a new version of the client application.
7) WCF is not an option in the short term for this set of web services. When I joined the project over a year ago I was given the task of creating a new set of web services for interoperability with other internal systems. Those web services were designed upfront to be easily upgradable to WCF once upper management allowed us to use WCF. I'll have to take a look into svcutil.exe, but if it does what we need, I'll have another point in trying to convince upper management to adopt WCF.
It looks like they are converted to regular date types in the generated proxy object.I'd like to optionally pass null values for these dates.Other than switching to WCF (no time to learn it right now), what is the best way to handle this situation. It looks like I also cannot pass NULLABLE date types.
We're in a strange situation with a legacy winforms VB.NET 1.1 application using ASMX web services. Trying to send a user Token from a WindowsIdentity object as a parameter to a WebMethod. I will be adding a 'HACK: comment. System.Security.Principal.WindowsIdentity.GetCurrent().Token
The token is of type IntPtr, the first problem is the WSDL being generated doesn't support IntPtr with the error of 'unsupported type'I'm aware this is a big WTF question and sounds insecure, so any simple helpful alternatives are welcome but there are a lot of constraints on how we can change this system, including complications with the hosting environment. So I would just like to get our piece of data over to the web service to save a lot of other headaches.