2012-01-04 14 views
1

私はWCFおよびWindowsモバイル開発を初めて利用しています。私は、MSFT同期フレームワークを利用するときどき接続されたアプリケーションを作成しようとしており、これにはWCFサービスの使用が必要です。IIS上でのWCFサービスのホスト

私はスマートデバイスプロジェクト、WCFサービスライブラリプロジェクト、およびWCFサービスWebサイトプロジェクトを含むビジュアルスタジオプロジェクトを持っています。

サービス

は、IISを使用していない私のローカルマシン上で罰金ホストされていると私はそれはそれは私にエラーを見つけることができませんHTTP 404リソースを提供しますIISに追加したとき、私はしかし、 http://localhost:55149/ElectricReadingServiceSite/ElectricReading.svc

でそれにアクセスすることができます。なぜリソースがそこにないと思うのか理解できません。

<?xml version="1.0"?> 
<configuration> 
    <system.serviceModel> 
    <services> 
     <service name="MiddleTierServiceLibrary.ElectricReadingCacheSyncService" 
       behaviorConfiguration="MiddleTierServiceLibrary.ElectricReadingCacheSyncServiceBehavior"> 
     <endpoint 
      address="" 
      binding="basicHttpBinding" 
      contract="MiddleTierServiceLibrary.IElectricReadingCacheSyncContract"> 
      <identity> 
      <dns value="10.104.238.123"/> 
      </identity> 
     </endpoint> 
     <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="MiddleTierServiceLibrary.ElectricReadingCacheSyncServiceBehavior"> 
      <serviceMetadata httpGetEnabled="True"/> 
      <serviceDebug includeExceptionDetailInFaults="False" /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    </system.serviceModel> 
</configuration> 

マイElectricReading.svcは次のようになります:

は、ここに私のweb.configファイルである

<%@ ServiceHost Language="C#" Debug="true" 
     Service="MiddleTierServiceLibrary.ElectricReadingCacheSyncService" %> 

すべてのヘルプは大歓迎です!

EDIT:何がうまくいかないのかをよりよく理解するためのツールや手順はありますか? 404エラーは私を助けるのにほとんど役に立たない。

+0

iisの設定を確認しましたか?ときどきWCFはIISでデフォルトでインストールされていないので、手動で行う必要があります。 –

+0

ServiceHostポート番号(55149)、またはデフォルトポート番号80(つまりプレーンURL)のURLにアクセスしていますか? – jklemmack

+0

IISでホストされているWCFサービスにアクセスするために使用しているURLは何ですか? – TheBoyan

答えて

1

これが起こっている理由はたくさんあります。

それらのいくつかは、次のものがあります

  • を(あなたが
  • あなたはIIS上のWebサイトを設定しているBinフォルダ内のアセンブリをアップロードしていることを確認していますが、 正しいアドレスでそれにアクセスしていません
  • .NET 4.0を使用している場合、アプリケーションプールをバージョン4.0に設定する必要があります)IISマネージャでApplicationPoolsに移動し、プールを設定しますを使用している.NETのバージョン

Fiddlerを試してみてください。それは、それが行う呼び出しを記録する必要があります、そして、あなたにそれが見つけていないものについてもう少し詳細を与えます。

関連する問題