按照this SO post中标记的答案,我提出了一种对许多控制器通用的方法。此通用方法的代码为:
Public Shared Property Strings As New Dictionary(Of String, String)
Public Class MvcSupport
Private Sub AddAString(StringToAdd As String)
Dim curUser = User.Identity.GetUserId()
If curUser Is Nothing Then
curUser = Request.AnonymousID
End If
If StringTableController.Strings.ContainsKey(curUser) Then
StringTableController.Strings(curUser) = StringToAdd
Else
StringTableController.Strings.Add(curUser, StringToAdd)
End If
End Sub
End Class
这会产生如下所示的问题,因为在最初创建的基本类库项目中没有引用。
在MVC网站中使用以下行可以解决User.Identity.GetUserId()
错误:
Imports Microsoft.AspNet.Identity
我不知道request
需要什么。
StringTableController.Helpstring
错误通常可以通过添加对特定控制器的引用来解决,但我不能这样做。
我不明白为什么无法在类库项目的解决方案资源管理器的右键菜单中从Add Reference
找到并添加所需的引用。
我以基本的方式理解项目引用,但这并不是我完全理解的东西。
目前,我已经向控制器类添加了所需的方法,为该控制器正常运行作了准备,为该类调用了通用方法,但是我想了解这个向各种项目类型添加引用的更基本的问题在更广泛的解决方案中。