2

Sharedまたは単に関数を使用して、Public必要に応じてクラスを開始する必要がありますか? 私は多くの記事を読みましたが、ここで最適なオプションを理解することはできません.

これが私が取得したいコードです。問題は、ユーザーがログインするときに設定される文字列です。userid多くのページでユーザー ID が必要になる可能性があるため、クラスに追加したいと考えています。

Public Shared ReadOnly Property userid As String
    Get
        Dim ck As HttpCookie = HttpContext.Current.Request.Cookies(FormsAuthentication.FormsCookieName)
        Dim tkt As FormsAuthenticationTicket = FormsAuthentication.Decrypt(ck.Value)
        Return tkt.Name
    End Get
End Property
4

2 に答える 2

1

Shared認証を処理するときにメンバーを活用する必要があるとはほとんど言いませんが、使用しているCookiesため、このコードがそのまま機能せず、アクセスが容易になる理由はわかりません。

于 2013-04-09T20:21:41.483 に答える
1

それは完全に問題なく、受け入れられます。HttpContext.Current多くのオープン ソース プロジェクトで、静的メソッド内へのアクセスを確認できます。

参考までに: 現在の呼び出しスレッド上にある必要があるため、 null でないHttpContext.Currentことを確認してください。HttpContext.Current

于 2013-04-09T21:21:23.553 に答える