Windowsサービス内からWCFサービスを実行しています。これは問題なく動作しており、サーバーにSOAPメッセージを送受信できます。同じWindowsサービスからWCFとWebServiceをホストすることはできますか?
問題は、この同じサービス(またはより具体的には同じポートから静的ファイル(簡単なダウンロード)にアクセスでき、1つのポートだけがインターネットにアクセス可能である必要があることです)です。
public System.IO.Stream DownloadFile()
{
var context = System.ServiceModel.Web.WebOperationContext.Current.OutgoingResponse;
context.Headers.Add(System.Net.HttpResponseHeader.CacheControl, "public");
context.ContentType = "text/plain";
context.StatusCode = System.Net.HttpStatusCode.OK;
return new System.IO.FileStream(@"C:\test.txt", System.IO.FileMode.Open, System.IO.FileAccess.Read);
} // End of DownloadFile
:次の実装では
[OperationContract]
[WebGet(BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "/DownloadFile")]
System.IO.Stream DownloadFile();
:私は今、以下を追加しようとしました
public interface IMyServerService
{
[OperationContract]
[WebInvoke]
string ListValue(string arg1);
}
:私の既存のサービスで
、私は、次のようなメソッドを持っています私の目標はhttps://service/DownloadFileにアクセスすることですが、試してみると400というエラーが表示されます。
私は同じWCFサービスの中からこれを行うことができますか、そうするために2番目のサービスを作成する必要がありますか?