我想我听说ASP.NET应用程序会在闲置一段时间后关闭(即没有访问者).
有没有办法防止这种行为发生?我有一个计时器,它运行来自global.asax.cs application_start事件的一些代码,并希望确保它继续运行,即使没有访问者访问该站点.
提前致谢!
我想知道是否有某种小抄对哪些对象与using语句...顺利SQLConnection,MemoryStream等等.
更进一步,甚至可以显示其他"拼图",就像你应该connection.Close()在结束前使用语句括号实际调用一样.
这样的事情存在吗?如果没有,也许我们应该制作一个.
我在用:
if (RadioButtonList_VolunteerType.SelectedItem != null)
Run Code Online (Sandbox Code Playgroud)
或怎么样:
if (RadioButtonList_VolunteerType.Index >= 0)
Run Code Online (Sandbox Code Playgroud)
或者怎么样(根据Andrew Hare的回答):
if (RadioButtonList_VolunteerType.Index > -1)
Run Code Online (Sandbox Code Playgroud)
对于那些可能阅读此问题的人,以下不是有效的方法.正如Keltex指出的那样,所选值可能是一个空字符串.
if (string.IsNullOrEmpty(RadioButtonList_VolunteerType.SelectedValue))
Run Code Online (Sandbox Code Playgroud) 资源文件似乎非常适合标签和消息的本地化,但它们是否完美?
例如:
从我所读到的,代码混淆并不是那么难以"破解",它只会延迟不可避免的.在那种情况下,它的目的是什么?
如果有人真的想偷你的来源他们可以.
如果有人需要查看您的源代码以获取无害/有用的目的,他们就不能.
您可能不应该在代码中存储任何敏感内容,因此这不应该是一个问题.
如果你没有混淆,你仍然没有提供完整的源代码,所以你可以出售"源代码许可证".
有趣的是,我见过的唯一代码混淆是可怕的代码,其中有错误.我需要查看代码的唯一原因是弄清楚问题是什么以及我可以做些什么来解决它.
例如,我需要替换ASPDotNetStoreFront中的一些图像.在查找标签的位置时,我发现它们包含在已编译的代码中.废话.所以我想我会反编译代码,找出要通过Regex替换的img标签.我试图查看源代码,看看哪些图像可能来自给定的编译方法,而反射器无法处理它,我认为是因为混淆.我没有时间去寻找de-comilers/de-obfuscators.
例如,在辐射3中,保存游戏存储游戏中每个对象和NPC的状态和位置,并且仅占用几MB.他们是怎么做到的!?!?
然后,在游戏过程中,如何在内存中添加/检索这些数据,以便可以实时显示给玩家?
更新:(我打算让你为你的答案工作:P)
基于Kevin Crowell的答案...所以我猜你会有一个适用于对象和NPC的渲染距离,你会在给定范围内"选择"对象和NPC.但是,您将使用什么类型的数据存储来获取这些对象?
换句话说,你会在游戏中拥有一个巨大的每个对象数组,并不断更新一个包含要呈现的可见对象的较小列表吗?
另外,根据Chaos的回答......如果你最终触及游戏中的每一个物体,会发生什么?你的拯救游戏会变得越来越大吗?在辐射3的情况下,我很确定没有"阶段",过去的数据可能会被删除.当您离开/返回某个位置时,一切都会持续存在.那么您认为这个具体案例是如何实施的?
通过在MailDefinition类上调用"CreateMailMessage"方法创建MailMessage对象时,第三个参数是System.Web.UI.Control类型的对象.
MailDefinition mail = new MailDefinition();
ListDictionary replacements = new ListDictionary();
replacements.Add("<%myname%>", "John");
mail.BodyFileName = "~/App_Data/Emails/SomeEmail.txt";
mail.From = "me@example.com";
mail.Subject = "Hello";
MailMessage message = mail.CreateMailMessage("example@example.com,", replacements, );
Run Code Online (Sandbox Code Playgroud)
这是为什么?
如果我没有这种类型的对象,我应该通过什么呢?只是一个新的Control对象?
Control control = new Control();
Run Code Online (Sandbox Code Playgroud)
UPDATE
我强烈建议使用Razor构建电子邮件模板.它具有很好的语法,效果很好,并且没有任何奇怪的依赖!
因此,当退出using块时,using语句会自动调用正在"使用"的对象上的dispose方法,对吗?
但这何时有必要/有益?
例如,假设您有这种方法:
public void DoSomething()
{
using (Font font1 = new Font("Arial", 10.0f))
{
// Draw some text here
}
}
Run Code Online (Sandbox Code Playgroud)
是否有必要在此处使用using语句,因为该对象是在方法中创建的?当方法退出时,不会丢弃Font对象?
或者在方法退出后,Dispose方法是否会在另一个时间运行?
例如,如果方法是这样的:
public void DoSomething()
{
Font font1 = new Font("Arial", 10.0f);
// Draw some text here
}
// Is everything disposed or cleared after the method has finished running?
Run Code Online (Sandbox Code Playgroud) 我使用此代码来加密字符串(基本上,这是在MSDN上的Rijndael类上给出的示例):
public static String AESEncrypt(String str2Encrypt, Byte[] encryptionKey, Byte[] IV)
{
Byte[] encryptedText;
using (RijndaelManaged rijAlg = new RijndaelManaged())
{
// Use the provided key and IV
rijAlg.Key = encryptionKey;
rijAlg.IV = IV;
// Create a decrytor to perform the stream transform
ICryptoTransform encryptor = rijAlg.CreateEncryptor(rijAlg.Key, rijAlg.IV);
// Create the streams used for encryption
using (MemoryStream msEncrypt = new MemoryStream())
using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
{
using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
{ …Run Code Online (Sandbox Code Playgroud) 我在最近看到的一些生产登录代码中发现了这个...
HttpContext.Current.Trace.Write(query + ": " + username + ", " + password));
Run Code Online (Sandbox Code Playgroud)
...其中query是一个简短的SQL查询来获取匹配的用户.这会对性能产生什么影响吗?我认为它非常小.
此外,使用HTTP上下文,这种确切类型的跟踪的目的是什么?这些数据可以追溯到哪里?提前致谢!
c# ×8
asp.net ×6
.net ×1
bytearray ×1
dispose ×1
encoding ×1
httpcontext ×1
idisposable ×1
iis ×1
mailmessage ×1
obfuscation ×1
performance ×1
resources ×1
resx ×1
storage ×1
string ×1
trace ×1
validation ×1