簡體   English   中英

在標准ASP.Net Web應用程序(非MVC)中正確實現SignalR

[英]Proper implementation of SignalR in a standard ASP.Net web application (Non-MVC)

目前,我正在使用site.master頁面進行布局來開發普通的Web應用程序。

我注意到,在實施SignalR時,我們必須導入以下腳本

<script src="Scripts/jquery-1.10.2.min.js"></script>
<script src="Scripts/jquery.signalR-2.1.0.min.js"></script>
<script src="signalr/hubs"></script>

但是,考慮到連接會多次啟動,將腳本放置在site.master中是一種好習慣。

有沒有更好的方法可以在更通用的位置導入腳本,該腳本只會啟動一次集線器? 還是將它留在site.master頁面中根本沒有關系嗎?

另外,如果我有不同的頁面不使用site.master,那該怎么辦?在這種情況下,我需要在其他頁面中重新導入腳本嗎?

我想到兩種方法。

實現嵌套母版頁。 請參見此處。您可以在內部母版頁中添加腳本,並且僅將此母版頁用於需要這些其他腳本的頁面。 如果有很多頁面需要此腳本(但不是全部),則這是一種“好的”方法。

您也可以在主模板中創建內容占位符。 像這樣。

<asp:ContentPlaceHolder ID="cphScripts" runat="server">
</asp:ContentPlaceHolder>

然后,在要添加其他腳本的頁面中,可以添加這樣的腳本。

<asp:Content ID="ContentScripts" ContentPlaceHolderID="cphScripts" runat="server">
    <script src="Scripts/jquery-1.10.2.min.js"></script>
    <script src="Scripts/jquery.signalR-2.1.0.min.js"></script>
    <script src="signalr/hubs"></script>
</asp:Content>

如果您需要這些腳本的頁面很少,我會采用這種方法。 如您所見,您必須在每一頁中一次又一次地重復該塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM