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


Please Help Members By Posting Answers For Below Questions

How to set the timeout property for the wcf service client call?

482


What are the types of messaging patterns?

483


How do we customize data contract names for generics types?

524


what is windows card space?

552


Please explain briefly different instance modes in wcf?

428






Please explain different modes of security in wcf? Or explain the difference between transport and message level security.

400


How to set the instancing mode in wcf service?

493


what is wcf tcp binding type? : Wcf data services

492


What is the use of servicebehavior attribute in wcf ?

472


Which are the different isolation levels in wcf?

483


What are the three types of transaction manager WCF supports?

465


How to deal with operation overloading while exposing the wcf services?

443


What is msmq binding?

452


How would you generate a proxy for wcf?

457


What are the protocols supported by wcf hosting environment?

440