FC2ブログ
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
<閉鎖してから技術メモ書いていこうと思っていたけれど、急遽必要になったのでぽちぽちメモします。

<WebServiceって何?>
私も詳しく知らないんですが…。(なんせ常に間に合わせの知識なので)
通常、データベースへの接続とかって、サーバーサイドで実行するしかないんですが、それをクライアントサイドでもやってやろうって代物です。
要はAjaxですよね。
メール送信の時に画面がチカチカしなくて(ページ全体をポストして再読み込みするため)済むんです!
JavaScriptって奥が深いなぁ…。

<手順>
1、「ソリューションエクスプローラー」のルートフォルダで右クリック、「新しい項目の追加」を選択。

2、「Webサービス」を選択して、ファイル名を指定し、「別のファイルにコードを書き込む」のチェックを外した状態で「OK」。

そうすると、ルートフォルダ/App_Code/の下に、「指定したファイル名のクラス」が。
ルートフォルダの下には「指定したファイル名.asmx」が作成されます。

!ポイント!
クラス…非同期で行いたい処理を記述する。
.asmxファイル…特に何もしない。


次はクラスファイル内のコードの説明をします。


<クラスファイル>
Visual Studio 2008は親切だねぇ…。
こんなコメントがあるよ。(2005使用者)

-----------------------------------------------------------------------------
 :
' この Web サービスを、スクリプトから ASP.NET AJAX を使用して呼び出せるようにするには、次の行のコメントを解除します。
' <System.Web.Script.Services.ScriptService()> _

<WebService(Namespace:="http://tempuri.org/")> _
 :
-----------------------------------------------------------------------------

このコメント通り、<System.Web.Script.Services.ScriptService()>_をコメントアウトすると、クライアントサイドからこのクラスを呼び出すことができます。


ちょっと時間がないので細かい説明は端折ります…!><
後日書き足すと思われるのでちょっと待ってください。m(_ _)m


で、次はWebサービスの呼び出し方です。


<WebServiceの呼び出し方法>
1、まず、適当な.aspxファイル(Default.aspxとか)に「ScriptManager」を設置します。(ツールボックスからドラッグ&ドロップでOK)

.aspxファイルのソース編集ではScriptManagerの部分がこうなってると思います。

-----------------------------------------------------------------------------
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
-----------------------------------------------------------------------------

それをこう書き変えましょう。

-----------------------------------------------------------------------------
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="~/WebService.asmx" InlineScript="True" />
</Services>

</asp:ScriptManager>
-----------------------------------------------------------------------------

これでWebServiceクラスへの参照ができるようになりました。
.asmxファイルは、ScriptManagerとクラスの潤滑油的な役割なんですかねー。(適当なことを言いすぎだ)

おっといけね。
実際に参照するのは普通のJavaScriptからだったみたい。
とりあえず、<Service>タグと同じように以下を記述してください。

-----------------------------------------------------------------------------
<Scripts>
<asp:ScriptReference Path="javascript.js" IgnoreScriptPath="True" NotifyScriptLoaded="False" />
</Scripts>

-----------------------------------------------------------------------------

プロパティの説明とかもまた今度します。
ぶっちゃけ、わかってないんですけどね。(笑)

でもって、JavaScriptファイルにはこんな記述をします。

-----------------------------------------------------------------------------
//WebServiceを実行する関数
function ServiceRun(){
//サービスを実行
サービス名.関数名();
}
//Webサービスの処理が成功した時、ダイアログを表示
function onServiceRunConplete(result){
alert(result);
}
//Webサービスの処理が失敗したとき、ダイアログを表示
function onServiceRunError(result){
alert(result);
}
-----------------------------------------------------------------------------

あとは気合でなんとか頑張れ!(ぇ)
あたしもがんばる。(笑)
スポンサーサイト
Secret

TrackBackURL
→http://pandagarden.blog17.fc2.com/tb.php/695-58baed4b
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。