注意:我知道在这里和这里已经提出了类似的问题,但我正在寻找关于如何完成这项工作或完全避免它的充分理由的补充说明.
我正在为已经使用旧版jQuery库(1.1.3.1)的现有网站添加功能.我一直在针对最新版本的jQuery库(1.4.2)编写我的附加功能.我只使用较新版本的jQuery测试了网站,它打破了功能,所以现在我正在考虑在同一页面上使用这两个版本.这怎么可能?
在我的代码中我需要做什么来指定我使用的是一个版本的jQuery而不是另一个版本?例如,我将把<script>jQuery的两个版本的标签放在我页面的标题中,但是我需要做什么才能确保在我的调用代码中我确实调用了一个版本的库或另一个版本?
也许是这样的:
//Put some code here to specify a variable that will be using the newer
//version of jquery:
var $NEW = jQuery.theNewestVersion();
//Now when I use $NEW, I'll know it's the newest version and won't
//conflict with the older version.
$NEW('#personName').text('Ben');
//And when I use the original $ in code, or simply 'jquery', I'll know
//it's the older version.
$('#personName').doSomethingWithTheOlderVersion();
Run Code Online (Sandbox Code Playgroud)
更新:在阅读了一些答案之后,我开始怀疑尝试玩这个游戏是不是一个好主意......
更新:请参阅问题的结尾,了解我如何实施解决方案.
抱歉这个措辞不好的问题,但我不确定如何最好地问它.我不确定如何设计一个可以重复使用的解决方案,其中大多数代码在每次实现时完全相同,但实现的一部分将每次都改变,但遵循类似的模式.我试图避免复制和粘贴代码.
我们有一个内部数据消息系统,用于在不同机器上跨数据库更新表.我们正在扩展我们的消息服务以向外部供应商发送数据,我想编写一个简单的解决方案,如果我们决定向多个供应商发送数据,可以重复使用.代码将被编译为EXE并定期运行以将消息发送到供应商的数据服务.
以下是代码的大致概述:
public class OutboxManager
{
private List<OutboxMsg> _OutboxMsgs;
public void DistributeOutboxMessages()
{
try {
RetrieveMessages();
SendMessagesToVendor();
MarkMessagesAsProcessed();
}
catch Exception ex {
LogErrorMessageInDb(ex);
}
}
private void RetrieveMessages()
{
//retrieve messages from the database; poplate _OutboxMsgs.
//This code stays the same in each implementation.
}
private void SendMessagesToVendor() // <== THIS CODE CHANGES EACH IMPLEMENTATION
{
//vendor-specific code goes here.
//This code is specific to each implementation.
}
private void MarkMessagesAsProcessed()
{
//If SendMessageToVendor() worked, run this …Run Code Online (Sandbox Code Playgroud) 我的一位同事正在参加面向对象编程课程的介绍,并被他的教授问了一个讨论问题:
为什么许多开发人员反对在类上/内使用"受保护"修饰符?
当问题在午餐时提出时,我的同事和我都无法想到有人可能会反对protected在课堂上使用修饰语的原因.设置问题的前提(假设许多开发人员实际上反对protected修饰符;是吗?),我们试图找出原因.
就个人而言,我在类上使用protected访问修饰符的唯一时间是我编写的代码,我可能想在测试环境中进行补充.例如,我可能编写一个没有调试信息的基类,然后创建一个新的类进行测试,继承基类并覆盖其方法,以便在基本方法调用之前/之后添加调试输出代码.我想我可以轻松地使用涉及接口和依赖注入的设计来实现相同的目标,但我唯一的经验protected是用于测试目的.在这种情况下,唯一要避免的原因protected是因为你可以用更好的方式完成同样的事情.
为什么开发人员可能会反对protected在他们的OOP设计中使用修饰符?
注意:因为教授要求一般OOP问题不是特定于任何一种语言,我不确定答案是否可能因为protectedC#,Java等的不同实现而加权不同.
我正试图想办法让Silverlight客户端知道当前用户的IP地址.我以前也看到过类似的信息,但是参考将它传回服务器,这与我的目的不同.
我正在尝试编写一个简单的应用程序,根据用户的IP地址更改MediaElement的源代码.因此,仅在客户端需要IP地址.
有没有办法在不使用网络服务的情况下找到IP地址?如果我必须使用webservice,哪一个会好用?
我们在工作中使用Visual Source Safe 6.0,VB6应该与Source Safe顺利集成.这两个应用程序都安装在我的PC上,但是VB6没有显示与Source Safe集成的选项(例如,检出文件,查看文件是否共享等).
我需要做些什么才能让VB6与Source Safe 6.0集成?
我需要从.NET应用程序中映射网络驱动器.我将需要使用AD用户名和密码进行身份验证.通常我只是使用net use命令的批处理文件.如何在C#或VB.NET代码中执行此操作?
从Visual Studio(Casini)中启动的默认ASP.NET Web服务器在我的开发机器上有点小错误,因此我喜欢在我的开发机器上发布到本地IIS实例并查看那里的Web应用程序.但是,当我以这种方式启动应用程序时,我不会自动进入"调试模式".
我知道VS 2010有一个"附加到进程"调试功能,但我不确定如何使用它.要从Visual Studio中调试本地IIS ASP.NET Web应用程序,我需要做什么?特别:
背景信息:我在Windows XP SP3上使用IIS 5.1和.NET 4.0运行Visual Studio 2010.
附加信息:
我应该补充一点,我已经尝试附加到aspnet_wp.exe,但是当我进入一个我知道其中有断点的页面时,当我将鼠标悬停在"空心圆"断点上时,我收到以下消息:
断点当前不会被击中.没有为此文档加载任何符号.
我正在尝试设置一个Web应用程序,FIPSAlgorithmPolicy以便1在Windows注册表中设置的环境中工作(特别是HKLM/SYSTEM/CurrentControlSet/Control/Lsa).启用此标志后,对该类的任何调用MD5CryptoServiceProvider都将导致Invalid Operation Exception使用以下堆栈跟踪抛出:
[InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.]
System.Security.Cryptography.RijndaelManaged..ctor() +10480142
System.Web.Configuration.MachineKeySection.ConfigureEncryptionObject() +439
System.Web.Configuration.MachineKeySection.EnsureConfig() +152
System.Web.Configuration.MachineKeySection.GetEncodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32& length) +48
System.Web.UI.ObjectStateFormatter.Serialize(Object stateGraph) +381
System.Web.UI.Util.SerializeWithAssert(IStateFormatter formatter, Object stateGraph) +59
System.Web.UI.HiddenFieldPageStatePersister.Save() +89
System.Web.UI.Page.SaveAllState() +1117
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3864
Run Code Online (Sandbox Code Playgroud)
根据我在本文中读到的内容,您应该能够将以下内容添加到配置文件中以禁用算法检查:
<configuration>
<runtime>
<enforceFIPSPolicy enabled="false"/>
</runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)
这通过修改其app.config在测试控制台应用程序中适用于我.但是,当修改.NET 2.0 Web应用程序的web.config时,它似乎不起作用.
对我来说有趣的是,即使我在实例化MD5CryptoServiceProvider代码时捕获所有异常,它似乎甚至没有实现我的代码的那部分.这是我的测试应用程序中调用的代码:
protected string printSomething()
{
string toPrint …Run Code Online (Sandbox Code Playgroud) 我编译了一个程序集,MySql.Data.dll并希望将它添加到一个新的Visual Studio项目中.我迷失了正确的术语以及如何最好地解决这个问题,但最终的目标是分发这个dll,以便在应用程序运行时将其包含在应用程序中.这是为了避免在最终用户的机器上使用GAC.
我试过简单地将程序集复制到项目文件夹中:

但是,我无法弄清楚如何在当前项目中添加对该dll的引用.我也没想出如何确保这个dll在编译后"留在"应用程序中.如何实现这一目标以及我可以考虑的其他事项?
目前,在尝试引用一些库代码时,我在python文件的顶部执行此操作:
import sys
sys.path.append('''C:\code\my-library''')
from my-library import my-library
Run Code Online (Sandbox Code Playgroud)
然后,my-library只要会话处于活动状态,它就会成为sys.path的一部分.如果我开始一个新文件,我必须记得sys.path.append再次包含.
我觉得必须有一个更好的方法来做到这一点.如何my-library在我的Windows机器上提供每个python脚本而不必sys.path.append每次都使用?