「ローカルで動作します」という問題に悩まされています。Windows Azure WebRoleのWcfWebApiは常に404を返しますが、ローカルでは問題ありません
NuGetを使用して、WcfWebApiをAzure WebRoleにインストールしました。 これはWebフォームのWebサイトです。
Global.asax.cs Application_StartはRegisterRoutes()を呼び出します。
RegisterRoutes()含まれていますRouteTable.Routes.Add(new ServiceRoute("MySvc/TheService/", new WebServiceHostFactory(), typeof(Services.TheService)));
サービスのインタフェースが含まれています
[OperationContract]
[WebGet(UriTemplate = "/hello", BodyStyle = WebMessageBodyStyle.Bare)]
string Hello();
私が今までナビゲートので、もし実装するクラスは、単に、 "こんにちは" を返します。http://localhost:49831/MySvc/TheService/hello - 私は "hello" を取得返さ。 OK。
私は、私は常に取得今のAzureへ発行し、(xx.cloudapp.net/などで明らかに)同じURLをしようとした場合、私は前に過去にWcfWebApiを使用していた404
- が、常にでWCfWebRole。これは違いがありますか?なぜローカルで動作しますか?それはAzureとは何か関係がありますか?
ご了承ください。ありがとう。
編集:だけでなく、ラジェッシュの提案@あたりのように私がホスト・サービスのURL、例えば記載されているGet_HostedServices、走っ:https://management.core.windows.net/mysubscriptionId/services/hostedservices/the-nameOfTheAppを。これがどこに行くのか分かりません...
私はWebアプリケーション内のフォルダに.svcファイルを加え、すべての(ひどい)system.serviceModelサービスなどを追加して、RESTスタイルに必要なものを追加しました構成。これはすべて動作します。
私はこのような質問に答えられておらず、何が起きたのか不思議です。これまでの回答に感謝します。私が答えを見つけたら、私は更新します。
ホストされているすべてのサービスを一覧表示する方法については、次のリンクを参照してください。http://msdn.microsoft.com/en-us/library /windowsazure/ee460781.aspx – Rajesh
@Rajesh:ありがとうございます。しかし、Azureサービスのリストが表示されていることは間違いありません.WebRoleがアップしていることを知っています。 WebRoleがホストするサービス内の*エンドポイント。とにかく –
上記のようにホストされたサービスのリストを表示しようとすると、サービスの場所が表示されません。IISからAzureサーバー上のIEでサービスを参照しようとすると、そのパスが表示され、そこからリソースの場所を把握できるはずです。 – Rajesh