我有一个Web服务查询来自此json文件的数据,但我不希望Web服务每次都必须访问该文件.我想也许我可以将数据存储在其他地方(可能在内存中),因此Web服务可以在下次尝试查询相同数据时从那里获取数据.我有点理解需要做什么,但我不确定如何实际做到这一点.我们如何在Web服务中保留数据?
更新: 这两个建议,缓存和使用静态变量,看起来不错.也许我应该只使用两个,所以我可以先看一个,如果它不在那里,使用第二个,如果它不在那里,那么我会看看json文件.
我需要一些简单的字符串加密,所以我写了下面的代码(从这里有很多"灵感" ):
// create and initialize a crypto algorithm
private static SymmetricAlgorithm getAlgorithm(string password) {
SymmetricAlgorithm algorithm = Rijndael.Create();
Rfc2898DeriveBytes rdb = new Rfc2898DeriveBytes(
password, new byte[] {
0x53,0x6f,0x64,0x69,0x75,0x6d,0x20, // salty goodness
0x43,0x68,0x6c,0x6f,0x72,0x69,0x64,0x65
}
);
algorithm.Padding = PaddingMode.ISO10126;
algorithm.Key = rdb.GetBytes(32);
algorithm.IV = rdb.GetBytes(16);
return algorithm;
}
/*
* encryptString
* provides simple encryption of a string, with a given password
*/
public static string encryptString(string clearText, string password) {
SymmetricAlgorithm algorithm = getAlgorithm(password);
byte[] clearBytes = System.Text.Encoding.Unicode.GetBytes(clearText); …Run Code Online (Sandbox Code Playgroud) 我不是网络出版的新手,但我不熟悉在经常使用的网站上发布.以前,这台服务器上的应用程序并没有经常出现,但我们正在推出一款需求量很大的应用程序.那么,发布到实时Web服务器的最佳做法是什么?
...我确信这方面有很多很棒的地方,但我没有使用正确的谷歌搜索条款.
给定一个空方法体,JIT会优化调用(我知道C#编译器不会).我怎么去发现?我应该使用什么工具以及我应该在哪里寻找?
由于我确信它会被问到,因此空方法的原因是预处理器指令.
@Chris:有道理,但它可以优化对方法的调用.所以该方法仍然存在,但可以删除静态调用(或至少内联...)
@Jon:这只是告诉我语言编译器没有做任何事情.我想我需要做的是通过ngen运行我的dll并查看程序集.
支持Windows 2000进行软件分发的一般共识是什么?人们是否支持Windows XP SP2 +进行新的软件开发,还是限制性太强了?
我目前正在开发一个Web服务,并且返回的结果可能非常大(> 5mb).
这组数据非常有效,并且Web服务可以称为同步或异步,但我想知道人们对以下内容的看法:
如果连接丢失,则必须重新生成整个结果集并再次发送.如果连接丢失或重置,有什么办法可以做任何"恢复"吗?
发送一个这么大的结果集是否合适?是否更好地实现某种"分页",其中结果集生成并存储在服务器上,然后客户端可以以较小的数量下载结果集的块并在结束时重新组合集合?
我正在尝试通过Web界面(ASP.NET/C#)运行powershell命令,以便在Exchange 2007上创建邮箱/等.当我使用Visual Studio(Cassini)运行页面时,页面正确加载.但是,当我在IIS(v5.1)上运行它时,我收到错误"未知用户名或密码错误".我注意到的最大问题是Powershell以ASPNET而不是我的Active Directory帐户登录.如何强制我的Powershell会话使用其他Active Directory帐户进行身份验证?
基本上,我到目前为止的脚本看起来像这样:
RunspaceConfiguration rc = RunspaceConfiguration.Create();
PSSnapInException snapEx = null;
rc.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.Admin", out snapEx);
Runspace runspace = RunspaceFactory.CreateRunspace(rc);
runspace.Open();
Pipeline pipeline = runspace.CreatePipeline();
using (pipeline)
{
pipeline.Commands.AddScript("Get-Mailbox -identity 'user.name'");
pipeline.Commands.Add("Out-String");
Collection<PSObject> results = pipeline.Invoke();
if (pipeline.Error != null && pipeline.Error.Count > 0)
{
foreach (object item in pipeline.Error.ReadToEnd())
resultString += "Error: " + item.ToString() + "\n";
}
runspace.Close();
foreach (PSObject obj in results)
resultString += obj.ToString();
}
return resultString;
Run Code Online (Sandbox Code Playgroud) 我发现的唯一一件事就是;
.hang {
text-indent: -3em;
margin-left: 3em;
}
Run Code Online (Sandbox Code Playgroud)
这种方法的唯一方法是将文本放入段落中,这会导致那些可怕的难看的额外行.我宁愿把它们放在某种<span class="hang"></span>东西中.
我也在寻找一种进一步缩进的方法,而不仅仅是单级悬挂.使用段落来堆叠缩进不起作用.
这个问题和答案显示了如何通过XML Web服务将文件作为字节数组发送.使用此方法进行文件传输会产生多少开销?我假设数据看起来像这样:
<?xml version="1.0" encoding="UTF-8" ?>
<bytes>
<byte>16</byte>
<byte>28</byte>
<byte>127</byte>
...
</bytes>
Run Code Online (Sandbox Code Playgroud)
如果此格式正确,则必须首先将字节转换为UTF-8字符.每个字符分配8个字节.字节是以十进制,十六进制还是二进制字符存储的?由于XML数据和字符编码,文件在发送时会显示多大?压缩是否内置于Web服务中?
.net ×5
c# ×4
web-services ×3
asp.net ×1
css ×1
deployment ×1
directory ×1
encryption ×1
exception ×1
html ×1
iis ×1
indentation ×1
json ×1
memory ×1
performance ×1
persistence ×1
powershell ×1
publish ×1
windows ×1
xml ×1