WCF:Do we have to use the relative addresses when hosting
in the IIS or the absolute addresses? Why?
Answer / 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 |
Why wcf service is used?
What do you understand by the term data contract?
What are wcf service endpoints? Explain.
What are the types of Data Contracts in WCF?
What is the difference wcf and web services?
Explain what is datacontract and servicecontract?
What are the essential components used in wcf?
What is wcf api?
Which protocol is used for platform independent communication?
How would you generate a proxy for wcf?
What is the "contract" property of endpoint in wcf?
Where we can host wcf services?