2009-05-06 66 views
0

我開發了一個小混搭站點。這個網站是完整的社區。 因此,當用戶轉到Community.aspx頁面時,他/她將看到社區成員的加入日期,評論數量,名稱等等。還有分頁。每頁有15個用戶。現在我的問題是,我的網站上有兩種類型的用戶「傳統用戶」和「開放ID」用戶。 Ofc我有2個在Asp中定義的角色。網絡會員即「OpenIDUser」和「用戶」。連續調用WCF服務返回「通常只允許使用每個套接字地址(協議/網絡地址/端口)127.0.0.1:10111」

OK !!!

現在當用戶點擊Community.aspx創建一個用戶列表,並返回前15個。但是爲了創建這個用戶列表,有很多Roles.IsUserInRole("Username","RoleName")檢查來查看哪些用戶是因爲現在按照字母順序對用戶列表進行排序。您必須小心所有開始使用 http://identifier.username或其他任何開放ID用戶。所以我做了很多Asp.Net會員服務呼籲Membership.GetUser角色和所有的......

現在通常這不會是一個問題,但我已經將成員服務納入WCF。原因是在這個社區我會有很多的子域名(每個「網站」的子域名),我只想爲所有的 這個使用1個數據庫。

所以我認爲通常情況下,如果你使500+ Membership.whatever調用那100%。但只要您將WCF中的.NET成員資格帶入並將每個Membership.Wack方法轉換爲WCF方法。每次加載頁面時,都會有500多個WCF調用。

我認爲這就是錯誤發生的原因。

回答

0

這不是一個問題,所以這不是一個答案,而是一個評論。

你應該看看有每個子域作爲一個單獨的成員資格應用程序。這允許多個站點共享相同的會員數據庫,但不會干擾彼此的成員。您可以將應用程序名稱設置爲提供程序配置的一部分。

+0

我希望signle登錄整個網站,雖然:/所以如果你註冊到一個子域,你應該是所有的一部分。但問題是我得到的錯誤信息。因爲我hade讓每個Membership類都調用一個WCF方法,每次創建一個通信頻道 – 2009-05-06 13:03:40

+0

因此,如果您正在分享auth,那麼您爲什麼使用web服務?設置相同的應用程序名稱和cookie路徑將在您創建傳輸後立即關閉客戶端,但不會在每次實例化之後使用Web服務進行身份驗證 – blowdart 2009-05-06 13:31:46

0

您是否關閉客戶端? IIRC我也有類似的問題。

相關問題