C#ASP.NET相当于经典的ASP Server.CreateObject().Exists()
我的任务是将一个经典的ASP应用程序转换为ASP.NET MVC5应用程序,但是我一直在寻找C#ASP.NET的C#ASP.NET相当于经典的ASP Server.CreateObject().Exists(),c#,asp.net,vbscript,asp-classic,C#,Asp.net,Vbscript,Asp Classic,我的任务是将一个经典的ASP应用程序转换为ASP.NET MVC5应用程序,但是我一直在寻找C#ASP.NET的Server.CreateObject().Exists() 经典ASP: Set courseDirectory = Server.CreateObject("Scripting.Dictionary") If Not (courseDirectory.Exists(clashKey)) AND Not (courseDirectory.Exists(altClashKey)) T
Server.CreateObject().Exists()
经典ASP:
Set courseDirectory = Server.CreateObject("Scripting.Dictionary")
If Not (courseDirectory.Exists(clashKey)) AND Not (courseDirectory.Exists(altClashKey)) Then
'...
End If
迄今为止的C#等效值:
object courseDirectory = new object();
courseDirectory = HttpContext.Current.Server.CreateObject("Scripting.Dictionary");
//problem here
if (!(courseDirectory.Exists())...
为了在C#ASP.NET中实现同样的功能,我必须做些什么?这不是一本普通的字典吗?那么:
var courseDirectory = new Dictionary<string, object>()
var-courseDirectory=newdictionary()
尝试将课程目录
声明为动态
。这将允许您通过动态包装器调用COM方法,该包装器将正确地封送调用。请参阅@RB中的“COM互操作”。有趣。我看看会怎么样。我不知道你想做什么。从理论上讲,您可以将代码从asp转换为c#,它会起作用-但您的任务是将代码转换为asp.NET MVC5,并且有一些方法可以完成。我不确定是否使用Server.CreateObject。此外,您得到了什么错误。@gilmishal我没有得到任何编译/生成错误,但是Exists()
方法对于HttpContext.Current.Server.CreateObject()
不存在。换句话说,当我尝试调用该方法时,Intellisense会给出一个错误。您没有“转换”任何内容。您只是将vbscript代码库移植到.net,这非常糟糕。在.net中使用与在vbscipt中相同的com对象没有任何好处。如果你想从使用.net中获得任何好处,你必须在.net中重写你的应用程序