このままでは、ローカルで動いているだけなので、ホスティングサーバーにアップロードします。
その前に、Service.cs で次のように名前空間が "http://tempuri.org/"
となっています。
[
WebService(Namespace
= "http://tempuri.org/")]
そこで、自分のドメインを名前空間に変更します。
また、引数を伴うメソッドをテストのために追加しておきます。
Service.cs |
using
System; using System.Web; using
System.Web.Services; using
System.Web.Services.Protocols;[ WebService(Namespace
=
"http://uchukamen.com/")] [WebServiceBinding(ConformsTo
= WsiProfiles.BasicProfile1_1)] public
class
Service
: System.Web.Services.WebService { public
Service () {
//デザインされたコンポーネントを使用する場合、次の行をコメントを解除してください //InitializeComponent(); }
[ WebMethod]
public
string
HelloWorld() {
return
"Hello World";
}
[ WebMethod]
public
int
Add(int
i, int
j)
{
return
i + j;
} } |
次に、Visual Studio 2005 のメインメニューから [ビルド] → [Web サイトの発行]を選択します。
すると、次のような [Web サイトの発行] ダイアログが表示されます。

そこで、ターゲットの場所をホスティング先を指定します。私の場合は、http://uchukamen.com/
なので、そこの下に TestWebService に発行することにします。厳密名は、必要に応じて使用すればよいでしょう。
OKボタンを押すと、次のように出力ダイアログに結果が表示されます。次のように発行が正常終了になっていればOKです。

それでは、うまくアップロードできたかどうか確認してみます。
その前に、ホスティング先でのディレクトリに anonymous
アクセスを許可し、スクリプトの実行権限を与える必要があります。その設定方法に関しては、各サービスプロバイダに問い合わせてください。
Cervi の場合は、Hosting
Controller → Domains → Virtual Dir. → TestWebService を選択し、Properties
ボタンを押す。Cervi
の場合は、次のようになります。

では、アップロード先の Service.asmx をWeb ブラウザからアクセスしてみてください。私の場合は、http://uchukamen.com/TestWebService/Service.asmx となります。次のように表示されれば、OKです。

[ページを表示できません
プログラムの実行が許可されていないディレクトリから、CGI、ISAPI、またはその他の実行可能プログラムを実行しようとしました。 ]
というエラーが表示される場合には、ホスティング先でのディレクトリにスクリプトの実行権限を与える必要があります。