3

basicHttpBindingsを使用した単純なwcfサービスがあり、IISでホストしたいと考えています。

ただし、 <endpoint address="/myAddress" binding="basicHttpBinding" contract="Wcf.Contracts.IPublicService"/> myAddressを指定している場合は無視されます。言い換えると、このlocalhost:1111 / myaddress / PublicService.svcのようなサービスエンドポイントsthが作成されることを期待していますが、localhostとPublicService.svc --localhost:1111/publicservice.svcを組み合わせるだけでエンドポイントが作成されます。

なぜ必要なのですか?プロジェクトでホストされている他のサービスがいくつかあり、ローカルホストの後に異なるURLでそれぞれを作成したい(別のフォルダーに移動したくない)。

私はグーグルで検索し、IISでホストするときにホストベースアドレスが無視されることを発見しました。これはエンドポイントアドレスにも当てはまりますか?

前もって感謝します

<service name="Wcf.Services.AdminService">
    <endpoint address="/address" binding ="basicHttpBinding" contract="Wcf.Contracts.IAdminService"/>
    <endpoint address="mex" binding ="mexHttpBinding" contract="IMetadataExchange"/>
  </service>
  <service name="Wcf.Services.PublicService">
    <endpoint address="/address1" binding="basicHttpBinding" contract="Wcf.Contracts.IPublicService"/>
    <endpoint address="mex" binding="basicHttpBinding" contract="IMetadataExchange"/>
  </service>
4

2 に答える 2

13

サービスのベースアドレスがであると仮定すると、属性をhttp://localhost:1111/PublicService.svc指定するaddress="/myAddress"と、そのエンドポイントのアドレスがになりhttp://localhost:1111/PublicService.svc/myAddressます。エンドポイントの相対パスは、サービスアドレスの後にあります。

于 2012-05-31T18:18:59.247 に答える
2

私はあなたの問題がService.svcファイルのようなものかもしれないと思います...

それを開き、次のようにその中の1行を変更します。

<%@ ServiceHost Language="C#" Debug="true" Service="Wcf.Services.PublicService" %>

あなたはこの良いチュートリアルに従うことができます、私はちょうど数日前にそれをしました...

それが役に立てば幸い!

于 2012-05-31T18:32:57.820 に答える