私はwcfサービスを使用しており、次のようなメソッドを呼び出しています。
public static void f5()
{
var client = new WebClient();
client.UploadStringCompleted += new UploadStringCompletedEventHandler(client_UploadStringCompleted);
var data = File.ReadAllText("request.xml");
client.Headers.Add("Content-Type", "text/xml;charset=utf-8");
client.Headers.Add("SOAPAction", "some string");
client.UploadStringAsync(new Uri("http://differentdomain/wcf/Service.svc"), data);
}
public static void client_UploadStringCompleted(object sender, UploadStringCompletedEventArgs e)
{
Console.WriteLine(e.ToString());
int cow = 0;
cow++;
}
static void Main(string[] args)
{
f5();
}
このプログラムは、非同期メソッドを使用しない場合は完全に機能しますが、何らかの理由でハンドラーが呼び出されません。Webサービスは別のドメインの別のコンピューターでホストされていますが、クライアントとサーバーは同じネットワークに接続されています。代わりにUploadStringを使用すると、最も重要なことはすべて正常に機能します。
ありがとう