2

IIS で WCF Rest ベースのサービスをホストする際に、次の問題が発生しました。

インターフェース:

[ServiceContract]
public interface ITestService
{
    [OperationContract]
    [WebInvoke(Method = "GET", UriTemplate = "/GetEmployee/{userid}", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json,BodyStyle=WebMessageBodyStyle.Bare)]
    IEnumerable<Employee> GetPlans(string userid);
}

TestService.svc.cs:

public class TestService : ITestService
{
    public IEnumerable<Employee> GetEmployee(string userid)
    {    
        return Employee
    }
}

Cassini サーバーを使用すると、正常に動作し、json 形式で結果が返されます。URL は次のとおりです。

http://localhost:58764/TestService/TestService.svc/GetEmployee/2

しかし、それを IIS Express 7.5 の URL でホストすると、次のようになります。

http://localhost/TestService/TestService.svc/GetEmployee/2)

それは単に言う:

「リクエストエラー

サーバーでリクエストの処理中にエラーが発生しました。サービスへの有効なリクエストを作成するには、サービスのヘルプ ページを参照してください。」

しかし、URL

http://localhost/TestService/TestService.svc/help

利用可能なすべてのメソッドを問題なく返します。

4

1 に答える 1

0

この問題についてはわかりません。

.net フレームワークを再インストールしてみてください。

  • Visual Studio 2010 コマンド プロンプトを開く
  • 「aspnet_regiis -i」と入力してEnterキーを押します
  • IIS を再起動する

  • IIS に WCF コンポーネントがインストールされているかどうかを確認します。インストールされていない場合。

  • 以下のコマンドを実行し、IIS C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation>Service ModelReg.exe -i を再起動します。

その後試してみてください。うまくいくといいのですが、これらの手順の後に解決された同様の問題がありました。

于 2012-03-16T05:41:25.227 に答える