C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: windows7(64bit)からのwebサービスアクセス


(過去ログ 110 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■65474 / inTopicNo.1)  windows7(64bit)からのwebサービスアクセス
  
□投稿者/ naoya (1回)-(2013/02/28(Thu) 15:09:20)

分類:[.NET 全般] 

はじめまして

windowsフォームアプリケーションから簡単なWebサービスを呼びだして
いるのですがwindows7(64bit)上からWebサービスのメソッドを呼び出すと
時間がかかってしまいます※メソッド1回呼び出すたびに0.5秒程度かか
る感じです。

windows7(32bit)やwindows XPなどでは時間がかからずメソッドを呼び出
す事ができるのですがwindows7(64bit)で時間がかかってしまう感じです。

[web service 側]

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class Service1 : System.Web.Services.WebService
{

[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}

[windowsアプリ側]
private void button1_Click(object sender, EventArgs e)
{
TimeSpan ts2;
DateTime basetime = DateTime.Now;
localhost.Service1 websvr = new localhost.Service1();

websvr.HelloWorld();
websvr.HelloWorld();
websvr.HelloWorld();
websvr.HelloWorld();
websvr.HelloWorld();
websvr.HelloWorld();

ts2 = DateTime.Now - basetime;
listBox1.Items.Add("0+" + ts2.Seconds.ToString() + ":" + ts2.Milliseconds.ToString());
}

※上の例ですとHelloWorldを6回呼び出していますので3秒程かかります。
※webサービスはローカルに配置しております。

どなたか原因や回避策などご存知の方いらっしゃいましたらご教授の程よろしくお願い致します。


引用返信 編集キー/
■65475 / inTopicNo.2)  Re[1]: windows7(64bit)からのwebサービスアクセス
□投稿者/ pang2 (12回)-(2013/02/28(Thu) 18:41:12)
遅いのは、サーバー側かクライアント側なのかを切り分けましょう。
サーバー側の応答の計測には、inetspy/横取り丸(フリーウエア)がお勧めです。
引用返信 編集キー/
■65476 / inTopicNo.3)  Re[2]: windows7(64bit)からのwebサービスアクセス
□投稿者/ 魔界の仮面弁士 (158回)-(2013/02/28(Thu) 20:21:58)
No65474 (naoya さん) に返信
> 分類:[.NET 全般] 
.NET Framework のバージョンは何でしょうか?


> windows7(32bit)やwindows XPなどでは時間がかからずメソッドを呼び出
> す事ができるのですがwindows7(64bit)で時間がかかってしまう感じです。
> ※webサービスはローカルに配置しております。

Webサービスの実行ホストは、IIS でしょうか。IIS Express でしょうか。
それとも、Cassini Web Server、Visual Studio 開発サーバーでしょうか。
Web サービスは 32bit/64bit どちらのモードで稼動させていますか?
WinForm 側は、AnyCPU / x86 / x64 いずれでコンパイルしていますか?


Win7x64 + VS2010 で、Visual Studio 開発サーバーを用いて何度かテストして
みましたが、大抵の場合、およそ 0.7 秒前後の値が記録されており、
当方環境では現象が再現されませんでした。

初回起動時はやや遅いですが、それでも処理全体として
せいぜい 1 秒強で実行できています。


System.Diagnostics.Stopwatch sw = Stopwatch.StartNew();
localhost.Service1 websvr = new localhost.Service1();
listBox1.Items.Add("websvr: " + sw.Elapsed.ToString());

websvr.HelloWorld();
listBox1.Items.Add("Hello1: " + sw.Elapsed.ToString());
websvr.HelloWorld();
listBox1.Items.Add("Hello2: " + sw.Elapsed.ToString());
websvr.HelloWorld();
listBox1.Items.Add("Hello3: " + sw.Elapsed.ToString());
websvr.HelloWorld();
listBox1.Items.Add("Hello4: " + sw.Elapsed.ToString());
websvr.HelloWorld();
listBox1.Items.Add("Hello5: " + sw.Elapsed.ToString());
websvr.HelloWorld();
listBox1.Items.Add("Hello6: " + sw.Elapsed.ToString());


> どなたか原因や回避策など
仮に起動直後だけの問題であれば、初回接続前に一度、
ダミーの通信を実行しておくと良いかもしれません。


No65475 (pang2 さん) に返信
> サーバー側の応答の計測には、inetspy/横取り丸(フリーウエア)がお勧めです。

InetSpy は、表示が Shift_JIS ベースに固定されているため、
自分は Fiddler を使っています。

http://bit.ly/h6ePn1
http://surferonwww.info/BlogEngine/post/2011/05/25/Recommendation-of-Fiddler.aspx
http://fiddler.site21.net/
引用返信 編集キー/
■65477 / inTopicNo.4)  Re[3]: windows7(64bit)からのwebサービスアクセス
□投稿者/ 774RR (56回)-(2013/02/28(Thu) 21:20:33)
環境が違うってことは自分のプログラム「以外」が原因である可能性がある。
# もちろん自分のプログラムが原因である可能性もある。

・ウイルス対策ソフトや防火壁ソフトの振る舞い(速度)が違う
・IPV4 / IPV6 の両方が設定されていて IPV6 のほうを先にアクセスしようとしている
・DNS の設定が違い、名前解決の速度が違う
その他もろもろ

その辺調査できるのは元発言者氏だけ。
資料として各種ログとって見るのは大いに有効だろう。
引用返信 編集キー/
■65491 / inTopicNo.5)  Re[4]: windows7(64bit)からのwebサービスアクセス
□投稿者/ naoya (2回)-(2013/03/01(Fri) 17:48:08)
pang2様、魔界の仮面弁士様、774RR様

書き込みありがとうございます。

いろいろ試しましたが別のwindows7(64bit版)では問題なく動く
事が確認とれましたので最初に問題が発生したパソコンの環境に
よる問題かと思います。

ウィルスソフトなどのソフトの再インストールやパソコンの再
インストールなどを含めてもう少し原因を追及して行きたいと思います。
原因が分かりましたら改めて書き込みをさせて頂きたいと思います。

pang2様

ツールの紹介ありがとうございました。
今後の検証の際に使わせていただきます。

魔界の仮面弁士様

わざわざプログラムを実行して頂きましてありがとうがざいます。

774RR様

アドバイスありがとうございます。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -