2010-04-05 18 views
2

我花了整個昨晚搜索一個免費的AspNet網絡聊天控件,我可以簡單地拖入我的網站。那麼搜索是徒勞的,因爲我無法找到一個匹配我的需求的控件,即用戶列表,1對1聊天,能夠踢出用戶..我可以逃脫嗎?還是它太粗暴和不切實際?

最後,我決定創建我自己的控制從scractch 。雖然它在我的機器上運行良好,但我擔心它在共享主機環境中可能有點粗俗和不切實際。

基本上這就是我所做的:

  1. 創建存儲聊天消息的SQL數據庫。
  2. 寫存儲過程和與包括用於清除舊消息

那麼「粗」部分的表述:

  • 拖着

    1. 拖動的更新面板和定時器控制我的網頁上中繼器數據綁定到更新面板內的聊天消息表
    2. 拖動另一個更新面板並在其中放置文本框和按鈕
    3. 配置定時器控件每5秒鐘打勾一次。

    ..和然後我做這一切工作,這樣 在計時器滴答事件I「刷新」消息顯示在我的發送我的中繼器調用數據綁定()即

    protected void Timer1_Tick(object sender, EventArgs e) 
        { 
         MyRepeater.DataBind(); 
        } 
    

    然後按鈕單擊事件

    protected void btnSend_Click(object sender, EventArgs e) 
        { 
    
         MyDataLayer.InsertMessage(Message, Sender, CurrTime); 
    
        } 
    

    那麼它運作良好,我的機器上並且Ive得到了其他功能(用戶列表,任意球開出用戶..)通過簡單地創建多個表的工作。

    但就像我說的那樣,對我來說似乎有點粗糙。所以我需要專業意見。我應該運行這個還是嘗試另一種方法?

  • 回答

    1

    我不知道你爲什麼認爲它很粗糙 - 我期望任何其他ASP.NET聊天控件都可以使用客戶端輪詢以完全相同的方式進行開發。但是,作爲使用更新面板的替代方案,我建議使用JQuery(或其他一些Javascript框架)編寫客戶端AJAX功能 - ASP.NET Update面板實際上只是使用渲染技巧的標準ASP.NET回發,所以屏幕不必刷新。

    關於用你得到的東西跑步,如果你已經走了儘可能遠,我會繼續。即使您決定將其替換爲賽道上的其他內容,對於您的聊天客戶端的要求也是一個很好的學習練習。

    +0

    我同意,我不認爲這有任何重大問題。請記住,得到一些正確的工作正確的第一,然後你可以把你的時間,把它製作成傑作 – TJB 2010-04-06 04:15:27

    +0

    嗯,我做了一些研究之前,創建我的控制,因爲我力氣找到一個使用我的轉發器和更新面板的組合想通我錯誤的路線。 – 2010-04-06 05:33:36

    相關問題