私は、クライアントがエンターキーを押すのを待ってから、ハードコードされた場所から別の場所にファイルをコピーするコンソールアプリケーションを持っていました。コンソールアプリケーションは、これはしかし、素晴らしい作品として、私は、Windowsサービスにそれを変換したときに、クライアントがEnterキーを押すと、私は次のエラーコードを取得する:Windowsサービスとして実行中のコンソールアプリケーション
"Could not connect to http://localhost:8080/myService. TCP error code 10061:
No connection could be made because the target machine actively refused it 127.0.0.1:8080."
私はポートが開いていることを確認するためにチェックし、ファイアウォールのことをしていますそれをブロックしていません。すべてが明確に表示されるので、私は何が起こっているのか混乱しています。以下で私はクライアントとホストコードを投稿して、それを見て、私が逃したものがあるかどうかを知らせて、私がこれを進めることができるようにしてください。
これは、これはクライアント
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
namespace myServiceClient
{
class Program
{
static void Main(string[] args)
Console.WriteLine("***** Prepairing to transfer files ***** \n");
using (FileXferClient myMethod = new FileXferClient())
{
Console.WriteLine("Press any key to begin transfer...");
Console.ReadLine();
string fileName = "test.txt";
string sourcePath = @"C:\TestFromC";
string targetPath = @"C:\TestFromC\Test Folder";
myMethod.FileXfer(fileName, sourcePath, targetPath);
Console.WriteLine("File transfer is complete!");
}
Console.ReadLine();
}
}
}
myServiceLib(このロジックを持つ図書館で)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
namespace myServiceLib
{
public class myService : IFileXfer
{
public myService()
{
Console.WriteLine("Awaiting Files...");
}
public void FileXfer(string fileName, string sourcePath, string targetPath)
{
string passFileName = fileName;
string passSourcePath = sourcePath;
string passTargetPath = targetPath;
string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
string destFile = System.IO.Path.Combine(targetPath, fileName);
if (!System.IO.Directory.Exists(targetPath))
{
System.IO.Directory.CreateDirectory(targetPath);
}
System.IO.File.Copy(sourcePath, destFile, true);
if (System.IO.Directory.Exists(sourcePath))
{
string[] files = System.IO.Directory.GetFiles(sourcePath);
foreach (string s in files)
{
fileName = System.IO.Path.GetFileName(s);
destFile = System.IO.Path.Combine(targetPath, fileName);
System.IO.File.Copy(s, destFile, true);
}
}
else
{
Console.WriteLine("Source path does not exist!");
}
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
namespace myServiceLib
{
[ServiceContract(Namespace = "http://Intertech.com")]
public interface IFileXfer
{
//Transfer files from one the target machine to the destination location
[OperationContract]
void FileXfer(string fileName, string sourcePath, string targetPath);
}
}
"' FileXfer'":音節省-良さを?いいえ、無意味です。 –
クライアントが起動する前にサーバーが実行されていますか? – Leri
はいサーバーは実際に動作しています。私はservices.mscを開き、クライアントが起動する前にそのプロセスがそこにあって実行されていることを確認しました。 – Jimmy