@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

WebサービスでMapPathは使えない?

1
投稿者投稿内容
KKJ
会議室デビュー日: 2002/08/13
投稿数: 17
お住まい・勤務地: 関東地方
投稿日時: 2002-12-25 17:31
例えばOLEDB接続で、以下のようにMapPath関数を使っているのですが、

sMyDbString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & MapPath("db/HogeHoge.mdb")


同じプログラミングをWebサービスにて行うとコンパイルエラーとなってしまいます。
(MapPathを使わないでパスを直接記述したらWebサービスは問題なく動作してます)
ヘルプを頼りに色々なクラスをImports宣言してみたのですが、解決しません。
情報orヒントをお願いします。

【環境】
Windows2000Pro SP2
VS.NET、VB.NET
NothingButXMLInfoSet
大ベテラン
会議室デビュー日: 2002/07/16
投稿数: 116
投稿日時: 2002-12-26 10:48
MapPathはHttpServerUtilityクラスのメソッドですから、このクラスに対する参照を手に入れる必要があります。Webサービスで手っ取り早い方法は、クラスをWebServiceクラスから派生させて、WebServiceクラスのServerプロパティからHttpServerUtilityクラスを取得する方法です。

コード:
<%@WebService Language="VB" Class="C1"%>
Class C1 : Inherits System.Web.Services.WebService
  <System.Web.Services.WebMethod>Public Function Test() As String
    Return (Server.MapPath("/WebApplication1/a.aspx"))
  End Function
End Class

KKJ
会議室デビュー日: 2002/08/13
投稿数: 17
お住まい・勤務地: 関東地方
投稿日時: 2002-12-27 10:51
>Return (Server.MapPath("/WebApplication1/a.aspx"))

Server.MapPath
で解決しました。

単純でしたね。
1

スキルアップ/キャリアアップ(JOB@IT)