我需要反编译一个用.NET编写的小应用程序并将其转换为C++.我没有安装Windows,我知道有很多针对Windows的.NET反编译.由于我只有Mac和Linux,并且不想安装Windows只能运行反编译器,我想知道,有没有简单的方法在Mac或Linux中反编译.NET应用程序?我搜索它并没有找到任何东西.
只想获得有关我计划如何构建API的反馈.下面的虚拟方法.这是结构:
GET http://api.domain.com/1/users/ <-- returns a list of users
POST http://api.domain.com/1/users/add.xml <-- adds user
POST http://api.domain.com/1/users/update.xml <-- updates user
DELETE (or POST?) http://api.domain.com/1/users/delete.xml <-- deletes user
Run Code Online (Sandbox Code Playgroud)
问题:
我们在ASP.NET应用程序中使用ELMAH进行错误记录.我们使用SQL Server错误日志记录.由于应用程序中的安全性和配置限制,我们希望将日志查看器UI(Elmah.ErrorLogPageFactory)放在单独的Web应用程序中,并连接到同一数据库.
但是,ELMAH会过滤应用程序名称上的错误,因此只需部署单独的应用程序,您还可以获得单独的日志.有没有办法将ELMAH配置为独立的日志查看器,即显示来自不同应用程序的日志消息?
Windows SDK附带了一个名为signtool.exe的工具,可让您使用证书对文件进行签名.我需要做同样的事情,但在后台服务,所以我正在寻找一个库(最好是托管代码,但COM会做),做同样的事情.有任何想法吗?
找到了答案.以下是如何使用X.509证书在.NET中签名文件:
CmsSigner signer = new CmsSigner();
signer.Certificate = new X509Certificate2(certificate);
SignedCms content = new SignedCms(new ContentInfo(File.ReadAllBytes(fileToSign)));
content.ComputeSignature(signer, true);
byte[] signedFile = content.Encode();
string signedFileName = fileToSign + ".signed";
File.WriteAllBytes(signedFileName, signedFile);
Console.WriteLine("Signed file: " + signedFileName);
Run Code Online (Sandbox Code Playgroud)
这里,certificate是包含证书的.pfx文件的路径,fileToSign是要签名的文件.
我有一个用Go编写的相对较大的Web应用程序,它使用Gorilla的多路复用器进行路由.我最近意识到我的Web应用程序非常慢,我想分析Web应用程序.
阅读之后,似乎net/http/pprof就是我所需要的.但我不能让它与多路复用器一起运行; 即使是最琐碎的Web应用程序.
有谁知道如何使这项工作?
这是一个不起作用的简单代码的例子(即什么都没有服务/debug).
package main
import (
"fmt"
"github.com/gorilla/mux"
"math"
"net/http"
)
import _ "net/http/pprof"
func SayHello(w http.ResponseWriter, r *http.Request) {
for i := 0; i < 1000000; i++ {
math.Pow(36, 89)
}
fmt.Fprint(w, "Hello!")
}
func main() {
r := mux.NewRouter()
r.HandleFunc("/hello", SayHello)
http.ListenAndServe(":6060", r)
}
Run Code Online (Sandbox Code Playgroud) 我试图在Redis上一次插入多个键/值(一些值是集合,一些是哈希),我得到这个错误:ERR CROSSSLOT Keys in request don't hash to the same slot.
我不是这样做的,redis-cli而是来自需要将多个键/值写入redis集群的Go代码.我在代码中看到其他地方以这种方式完成多个键值,我不明白为什么我的工作不起作用.没有此错误的哈希要求是什么?
谢谢
我正在为我编写的局域网方网站构建一个插件,允许使用Round Robin锦标赛.
一切进展顺利,但我有一些关于排名超过两个标准的最有效方法的问题.
基本上,我想要以下排名布局:
Rank Wins TotalScore
PersonE 1 5 50
PersonD 2 3.5 37
PersonA 2 3.5 37
PersonC 4 2.5 26
PersonB 5 2.5 24
PersonF 6 0 12
Run Code Online (Sandbox Code Playgroud)
在SQL服务器中,我会使用:
SELECT
[Person],
RANK() OVER (ORDER BY Wins DESC, TotalScore DESC) [Rank],
[Wins],
[TotalScore]
Run Code Online (Sandbox Code Playgroud)
现在,我只有List,Dictionary等可以使用
特别:
Dictionary<TournamentTeam, double> wins = new Dictionary<TournamentTeam, double>();
Dictionary<TournamentTeam, double> score = new Dictionary<TournamentTeam, double>();
Run Code Online (Sandbox Code Playgroud)
有没有办法用LINQ做这种排名风格?
如果没有,是否有一种可扩展的方式可以让我以后考虑Win-Loss-Draw而不仅仅是胜利,如果我选择的话?
编辑:
我改编了TheSoftwareJedi的答案:
private class RRWinRecord : IComparable
{
public int Wins { get; set; } …Run Code Online (Sandbox Code Playgroud) 我目前正在开发一个ASP.NET网站,我想从RSS源中检索数据.我可以轻松地检索我想要的数据并让它显示在一个Repeater控件中.
我的问题是,我从RSS获取的博客(Wordpress)用于\n换行,我显然不能在HTML中使用.我需要\n用<br />标签替换它们.
到目前为止我所做的是:
SyndicationFeed myFeed = SyndicationFeed.Load(XmlReader.Create("urltofeed/"));
IEnumerable<SyndicationItem> items = myFeed.Items;
foreach(SyndicationItem item in items)
{
Feed f = new Feed();
f.Content = f.ConvertLineBreaks(item.Summary.Text);
f.Title = item.Title.Text;
feedList.Add(f);
}
rptEvents.DataSource = feedList;
rptEvents.DataBind();
Run Code Online (Sandbox Code Playgroud)
然后将具有具有两个属性的Feed类:标题和内容和辅助的方法来代替\n用<br />
但是,我不确定这是一种从RSS提要中获取数据的好/漂亮方法吗?
提前致谢,
博
我有两个对象列表,使用Linq我想合并它们,但是当两个列表包含具有相同键的对象时,我只想要具有最大LastUpdated值的那个.
我认为我可以通过关键字a以max(LastUpdated)获得列表分组,然后加入返回加入key和LastUpdated的列表,但必须有更有效的方式...
List<MyObject> lstListA = new List<MyObject>;
List<MyObject> lstListB = new List<MyObject>;
public class MyObject
{
public string Key {get;set;}
public string Value {get;set;}
public DateTime LastUpdated {get;set;}
}
Run Code Online (Sandbox Code Playgroud)