2013-02-08 95 views
0

我有一個WCF REST服務的問題,我無法理解。 問題在於該服務是由IIS託管的。WCF REST服務,IIS和數據庫

在服務我有兩個功能:

[ServiceContract] 
public interface IFishMapService 
{ 
    [OperationContract] 
    [WebInvoke(Method = "GET", 
       BodyStyle = WebMessageBodyStyle.WrappedRequest, 
       ResponseFormat = WebMessageFormat.Json, 
       RequestFormat = WebMessageFormat.Json, 
       UriTemplate = "/FindAllRecords")] 
    List<Record> findAllRecords(); 


    [OperationContract] 
    [WebInvoke(Method = "GET", 
       BodyStyle = WebMessageBodyStyle.WrappedRequest, 
       ResponseFormat = WebMessageFormat.Json, 
       RequestFormat = WebMessageFormat.Json, 
       UriTemplate = "/returnHello")] 
     String returnHello(); 
} 

第二個是一個簡單的測試函數返回一個字符串。 第一個返回一個列表並連接到我的機器上的數據庫通過MS SQL服務器2008年取得

所以......這是怎麼回事,而測試: - 如果我測試的第二功能與像我的IP地址這個:

ipAddress/MyApp/FishMapService.svc/returnHello 

一切都好!

  • ,如果我做同樣的與第二功能,但與本地主機:

    本地主機:57640/FishMapService.svc/returnHello

一切也行!獲得一個美好而美好的迴應!

  • 如果我測試的第一個本地主機與:

    本地主機:57640/FishMapService.svc/FindAllRecords

我看到已經發送了查詢的結果!再次美麗!我看到了我需要的所有信息。

  • ,如果我考一個相同的,但我的IP:

    ip地址/ MyApp的/ FishMapService.svc/FindAllRecords

在瀏覽器中 「[]」 得到這個?!

這是怎麼回事?有任何想法嗎?

+0

它是否區分大小寫? – 2013-02-08 18:26:57

+0

對不起,這是我的錯誤。在寫文章時。現在編輯。 – user2004702 2013-02-08 19:00:51

+0

有人有任何想法如何解決這個問題? – user2004702 2013-02-09 10:55:58

回答

0

問題解決了!

該解決方案適用於MS SQL Studio中當前數據庫的權限。一個好的建議是檢查服務器的日誌文件。您可以通過管理(文件夾) - > SQL Server日誌 - >當前日誌來執行此操作。在新窗口中,您將嘗試登錄SQL Server的人員。對我來說,它是「IIS APPPOOL \默認網站」。所以你去數據庫表[DataBaseTableNae] - >安全性 - >右鍵單擊「用戶」 - >新用戶

然後添加新用戶與您已經在日誌文件中看到的名稱,再次爲我它是「IIS APPPOOL \默認網站」,並給這個用戶你想要的權限。

最後,您應該能夠看到一個響應,在您的瀏覽器ipAddress/MyApp/FishMapService中鍵入。svc/FindAllRecords(這是我的項目中的網址)

希望這會對某人有用!

乾杯!