2012-12-03 109 views
0

我製作了一個Web服務,該服務連接到本地計算機上SQL Server 2008 R2中託管的數據庫,並對其進行一些操作。將soap webservice添加到IIS

這是Web服務的連接字符串:

conn = new SqlConnection("Data Source=amir-pc\\SQLEXPRESS;User Id=sa;Password=1234; Initial Catalog=Election;Integrated Security=True"); 

它運作良好,併成功地訪問數據庫和運行權。

現在我想將此Web服務添加到IIS。

我成功地將它添加到Windows 7到IIS,並可以從瀏覽器運行它。

localhost/election_service/service.asmx 

但是當我試圖調用一個函數來檢查連接,它失敗了,我不知道爲什麼。 這是函數:

[WebMethod] 
    public string Check_conn() 
    { 
     try 
     { 
      conn.Open(); 
      conn.Close(); 
      return "ok"; 
     } 
     catch 
     { 
      return "failed"; 
     } 
    } 

有任何修改我必須這樣做才能夠訪問數據庫?

回答

0

嗨,你可以給更多的信息,請嘗試改變你的代碼,知道什麼是異常提高。

public string dbcheck() 
{ 
    try 
    { 
     conn.Open(); 
     conn.Close(); 
     return "ok"; 
    } 
    catch (Exception ex) 
    { 

     return ex.Message; 

    } 
} 

嗨,然後..是一個登錄的問題:打開IIS打開應用程序池選擇您當前的應用程序池是你目前的工作(默認情況下是默認應用)進入高級選項,找到身份並更改爲(NT AUTHORITY \ Network Service)然後您已經更改了您的應用程序用戶,現在您需要將網絡服務添加到數據庫Open SQlMananger,然後轉到節點安全性,然後單擊和屬性轉到NT AUTHORITY \ Network Service轉到用戶映射和添加您想要允許訪問的數據庫。

+0

錯誤是無法打開登錄請求的數據庫「選舉」。登錄失敗。用戶'IIS APPPOOL \ DefaultAppPool'登錄失敗。 –

+0

嗨,然後..是一個登錄問題:打開IIS 打開應用程序池 選擇您當前正在使用的應用程序池(默認爲DefaultAppPool) 轉到高級選項並找到標識並更改爲(NT AUTHORITY \ Network服務) 那麼你已經改變了你的應用程序的用戶,現在你需要添加permision的網絡服務數據庫 打開SQlMananger,然後去節點的安全性,分辯點擊和屬性去NT AUTHORITY \ Network服務 去用戶映射並添加您想要允許訪問的數據庫。 –

+0

你接通了嗎? –