2012-05-14 43 views
-2

私は新しい開発者であり、this tutorialに従うことでC#でWebサービスを開発しようとしています。そのチュートリアルで説明したように、私はすべてをした、しかし、私は、Northwindデータベースからデータを取得していないと私は起動ボタン押したときに、私は以下のページを持って:あなたはチュートリアルで見るよう enter image description hereこのWebサービスはどのように動作させるのですか?

を、私がやりましたweb.configファイルにConnectionStringを追加しないでください。私はそれをすべきか?

マイコード:

public class WSGetCustomerCountryWise : System.Web.Services.WebService 
{ 
    public WSGetCustomerCountryWise() 
    { 

     //Uncomment the following line if using designed components 
     //InitializeComponent(); 
    } 

    [WebMethod(Description = "It will generate Customer List, CountryWise")] 
    public System.Xml.XmlElement 
     GetCustomerCountryWise(string sCountry) 
    { 
     string sConn = ConfigurationManager.ConnectionStrings["connStr"].ToString(); 
     string sSQL = "select CustomerId, CompanyName, ContactTitle, City from Customers where country = '"+sCountry+"'"; 
     SqlConnection connCustomer = new SqlConnection(sConn); 
     DataSet dsCustomer = new DataSet(); 
     SqlDataAdapter sda = new SqlDataAdapter(sSQL, sConn); 
     sda.Fill(dsCustomer); 

     System.Xml.XmlDataDocument xdd = new System.Xml.XmlDataDocument(dsCustomer); 
     System.Xml.XmlElement docElem = xdd.DocumentElement; 
     return docElem; 

    } 

} 
+1

"古い"従来のASMX Webサービスの代わりに** WCF **を学ぶことを強くお勧めします。 –

+3

@marc_s:必ずしもそうではありません - シンプルな仕事のために、私はまだハンドリングがはるかに簡単で(特に初心者の方でもモノでも)、「新しいもの」が必要ない場合はそれを作る必要はないので、「古いもの」を好むもっと複雑な場合は... – ChrFin

+0

@chrfinマイクロソフトでは、ASP.NET Webサービスの代わりにWCFの使用を推奨しています。 [リンク](http://msdn.microsoft.com/en-us/library/t745kdsh.aspx)を参照してください。また、ASMXスタイルのWCFサービスの簡単な例もあります。 ;)(おそらく、AJAX対応のWCFサービス、例えば[link](http://msdn.microsoft.com/en-us/library/bb924552.aspx) – Nicholas

答えて

2

あなたはConfigurationManager.ConnectionStrings["connStr"].ToString()で接続文字列をロードしようとしているが、あなたはそうです、あなたがそれを行う必要があり、コンフィギュレーション(= web.configファイル)に追加しませんでした。

0

;はい、web.configに接続文字列を追加する必要があります。それ以外の場合は、例外がスローされます。 ToString()nullオブジェクトはできません。

コードが壊れている場所を知るには:string sConnで始まる行にブレークポイントを置くとどうなりますか?あなたは 'デバッグ'のバグを見つけることができるはずです...

+0

の 'NULL'は' NULL'ではありません。これはC#ではなくC#です。 –

+0

あなたはそうです。私はそれを変更しましたが、私のポイントは明らかでした。 – 321X

関連する問題