WCF:Do we have to use the relative addresses when hosting
in the IIS or the absolute addresses? Why?
Answer Posted / jt
IIS Addressing Considerations
When hosting in IIS, you don’t have to worry about creating
or managing the ServiceHost instance. IIS takes care of
this for you behind the scenes. You simply map a .svc
endpoint to your service class, configure the service
endpoints and behaviors in web.config, and let Windows
Communication Foundation manage the process of creating and
configuring the ServiceHost instance at runtime.
In this hosting scenario, the base HTTP address is
determined by the IIS virtual directory housing the service
along with the name of the .svc file. You, as the
developer, really have nothing to say about the base
address since it’s fully controlled by the IIS addressing
scheme.
As a result, Windows Communication Foundation happily
ignores any base addresses you may specify in web.config in
this scenario. If you want to change the base address for
your endpoints, you’ll need to move the service to a
different IIS virtual directory.
Not only does IIS control the base address, it forces all
of your endpoints to actually use the same base address
(unlike self-hosting). This means that if you do specify an
absolute address for a particular endpoint, it must start
with the base address corresponding to the virtual
directory or you’ll get an exception. As a result, it
really only makes sense to use relative addresses when
hosting in IIS.
You will need to use relative addresses when exposing more
than one endpoint for a particular .svc service (we’ll
discuss why you’d want to do this shortly).
Let’s take a look at an example. Suppose you have a file
named calc.svc and you place it in a virtual directory that
corresponds to http://localhost:8080/calcservice. The base
address for this service will be
http://localhost:8080/calcservice/calc.svc. Assuming you’ve
enabled HTTP GET metadata retrieval, the help page will be
exposed at that same address, which you can simply browse
to in Internet Explorer....
Please see the url http://msdn.microsoft.com/en-
us/magazine/cc163412.aspx#S3
| Is This Answer Correct ? | 2 Yes | 0 No |
Post New Answer View All Answers
What are the wcf service endpoints?
WCF:What is it the Reliable session?
What is transport reliability in wcf?
What is the use of servicebehavior attribute in wcf ?
Exp wcf peer network binding type?
What is proxy and how to generate proxy for wcf services?
WCF:What types of reliable messaging are implemented in the WCF?
What are WCF contracts?
Which styles of models are supported in wcf?
Is it possible for a WCF service to implement Multiple service contracts?
List the various protocols utilized in the messaging layer in wcf?
How can we achieve operation overloading in WCF service?
Explain different modes of security in wcf?
What is the "address" property of endpoint in wcf?
How can you test a wcf application without creating a client application?