ここから本文です

asmxファイルを実行するにはASP.NETが必要ですか? IISを起動して、WebService...

jis********さん

2011/3/1518:27:56

asmxファイルを実行するにはASP.NETが必要ですか?

IISを起動して、WebService(.asmx)のファイルのメソッドに引数を渡して実行したところ
「ページが見つかりません」となりました。↓

http://127.0.0.1/Service1.asmx/Add?x=100&y=200

試しにメソッドを指定しないで、ファイル名で実行したところソースが表示されました。↓
http://127.0.0.1/Service1.asmx
IISがテキストとして認識してしまっているようです。

ネットで調べてASP.NETがないのでは、と思いました。

ASP.NETとはVB.NETやC#.NETの総称のように思っていたので
ASP.NETが必要ならVisualStudio2005などをインストールしなければならないと思っていたのですが間違っていますか?

ASP.NETというものを単品でインストールする事もできるのでしょうか。
初歩的なことを聞いてすみません。
宜しくお願いします。

■■■環境■■■
OS:WindowsXP
VisualStudio6:あり
VisualStudio2005(6以外はなし):なし
.NET Framework1.1:あり
.NET Framework2.0:あり

■■■表示させるSevservice■■■
<%@ WebService Class="Service1" %>

Imports System.Web.Services

Class Service1
<WebMethod> _
Public Function Add(ByVal x As Integer, _
ByVal y As Integer ) _
As Integer
Dim wk As Integer
wk = x + y
Return wk
End Function
End Class

閲覧数:
2,779
回答数:
1

違反報告

ベストアンサーに選ばれた回答

アバター

ID非公開さん

2011/3/1518:28:32

まず、関連質問
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1130610336

での回答から読んで下さい。



[背景(及びWebサービス)]


MS-DOS時代の終わり頃では、マイクロソフトは、インターネットを自社に不利益な存在として拒絶していました。

しかし、Windows時代(Windows95以降当たり)になってからは、考えを変えて、Windowsのインターネットエクスプローラーを搭載するなど、インターネット仕様を受け入れました。
また、その後にはWeb開発環境として、ASPも用意されました。

ところで、マイクロソフトには、プログラムを部品化する技術であるCOMがあります(ActiveXやATL等が、COMによる部品化技術です)。
マイクロソフトは、そのCOMをインターネット上で動作するように対応させたかったのですが、相性が悪く無理でした。

そのため、マイクロソフトのWeb開発環境では、それを批判する人も多くいました。
インターネットは、本来、標準仕様化して、多くの人に利用可能にするのが、大きな目的であるはずなのに、マイクロソフトの独自仕様が目立っていたからです。

そこで、マイクロソフトは、インターネット仕様でのXMLという技術に目を付けました。
XMLは、データをインターネット上でやり取りするのに便利な技術仕様です。
しかし、データだけではなく、プログラムも適用可能です。
よって、XMLを基本にして、プログラム部品をインターネット上に乗せる規格を、標準化団体W3Cのもとで、マイクロソフトを含めた各種企業で取り決めました。
そのような仕様のプロトコルが、SOAPです。
また、そのような規格で作ったプログラムを、Webによるサーバーとして、インターネット上で公開する技術仕様が「Webサービス」です。



[CLI]


ここで、マイクロソフト開発環境としては、新たなライブラリを追加するレベルではなく、C++の言語仕様自体に手を加える必要がありました。
そこで、「どうせ、言語仕様に手を加えるのならば、いっそうのこと、新たな新言語を作ってしまえ」という背景で誕生したのがC♯です。
C/C++は、インターネット関係が不得意な言語ですが、インターネット時代に対応可能なC系言語として、C♯が誕生しました。

C♯は、標準化団体ECMAに認可されましたが、CLIという仕様も共に提出され、認可されています。
CLIは、日本語的には共通言語基盤で、言語に依存しない開発環境および実行環境を提供するものです。
すなわち、「C♯に限らず、どの言語でも、SOAPやWebサービス等の標準規格を受け入れる言語ならば、コンパイル後のプログラムの規格を共通化しましょう」というものです。
こうすれば、異なる言語間でも、仲介するインターフェイスを必要としないで直接に、互いに自由にリンク(結合)することも可能です。



[マイクロソフトの標準仕様]


ここまでは、標準仕様の範囲での説明です。
CLIの規格に従ったマイクロソフトでのライブラリを、マイクロソフト開発環境でも用意されました。
それが、.NET Frameworkです。
C♯は、もちろん、CLI等の規格に従っています。
また、前述した言語仕様に手を加えたC++は、C++マネージ拡張と言います。
これは、言語仕様としては標準では無いですが、それで作成されたプログラムについては、CLI等の標準規格に従っています。
VBも同様に、VB.NETに変貌しました。
なお、C++マネージ拡張については、その後改良されて、C++/CLIという言語としてECMAに認可されました。



[ASMX]


このことから、マイクロソフトのASPチームは、ASP自体をC♯で作り直しました。
それがASP.NETです。

また、ASP.NETを用いて、前述のWebサービスを作れる環境がASMXです。



[誤解の根源]

ちなみに、Webサービスを作れるのは、ASP.NET(ASMX)だけではありません。
VB.NETやVC♯やC++/CLIでも、Webサービスを作れます。
こういう事をいきなり言ったら混乱するだけですが、今までの長々となった説明で分かると思います。
どの言語でも共通するフレームワークが用意されたのですから。

ちなみに、以前は、DLLやサーバーの作成は、VC++の役目でしたが、今はVB.NETでも十分可能です。
また、C++/CLIでは、VBなみに、ユーザーインターフェイス関係のプログラミングが簡単になりました。

各言語での固有な特徴は、今でも存在しますが、共通化された面も多いという事です。



[必要な物]


このことから、質問での必要な物とは、.NET Frameworkです。
また、質問にあるようなコードのプログラミングには、ASP.NETが必要です。




[ASMX以後の技術]


ASMXは、現在も通用する現役技術ですが、ただし、.NET登場当初のWebサービスやSOAP仕様関係しか使えません。

その後の技術は、もう回答量上限なので、興味がある場合は、再質問して下さい。

質問した人からのコメント

2011/3/15 18:33:27

爆笑 すごい!たった36秒で・・・

貴方は神か!?

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる