小编Kam*_*hid的帖子

Redis通过锁定分布增量

我需要生成一个计数器,它将被发送到一些api调用.我的应用程序在多个节点上运行,所以我想要生成一个独特的计数器.我试过以下代码

 public static long GetTransactionCountForUser(int telcoId)
    {
        long valreturn = 0;
        string key = "TelcoId:" + telcoId + ":Sequence";
        if (Muxer != null && Muxer.IsConnected && (Muxer.GetDatabase()) != null)
        {
            IDatabase db = Muxer.GetDatabase();
            var val = db.StringGet(key);
            int maxVal = 999;
            if (Convert.ToInt32(val) < maxVal)
            {
                valreturn = db.StringIncrement(key);
            }
            else
            {
                bool isdone = db.StringSet(key, valreturn);
                //db.SetAdd(key,new RedisValue) .StringIncrement(key, Convert.ToDouble(val))
            }
        }
        return valreturn;
    }
Run Code Online (Sandbox Code Playgroud)

并通过Task Parallel libray运行测试.当我有边界值时,我看到的是设置了多个时间0条目

请让我知道我需要做哪些更正

更新:我的最终逻辑如下

 public static long GetSequenceNumberForTelcoApiCallViaLuaScript(int telcoId)
    {
        long valreturn …
Run Code Online (Sandbox Code Playgroud)

c# redis servicestack.redis stackexchange.redis .net-4.5.2

9
推荐指数
1
解决办法
3325
查看次数

System.Net.Http.HttpRequestException:将内容复制到流时出错。---&gt; System.IO.IOException:响应提前结束

我正在使用以下代码来调用一些 http api

public static async Task<GenerricApiResponse> ProcessWebRequest<T>(string url, T req,ILog Logger, int timeoutInSeconds = 0)
    {
        var obj = new GenerricApiResponse();
        try
        {
            using (var client = new HttpClient())
            {
                var jsonRequest = JsonSerializer.Serialize(req);
                client.DefaultRequestHeaders.ExpectContinue = false;
                var content = new StringContent(jsonRequest);
                content.Headers.Clear();
                content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

                if (timeoutInSeconds > 0)
                {
                    client.Timeout = new TimeSpan(0, 0, timeoutInSeconds);
                }
                var response = await client.PostAsync(url, content);                    
                obj.HttpResponseCode = response.StatusCode;

                try
                {
                    string responsecontent = null;
                    responsecontent = response.Content.ReadAsStringAsync().Result;
                    if (response.Content …
Run Code Online (Sandbox Code Playgroud)

c# httpclient httprequest .net-core-3.1

7
推荐指数
1
解决办法
1万
查看次数

如何更改某些元素的XML命名空间

我有一些xml通过一些WCF消息的xmlserialization生成.现在我想制作一个通用的方法,我将提供一个xml文件名和一个前缀mailxml12.然后在xml文件中,那些名称中没有任何名称空间前缀的元素应替换为mailxml12:

像源文件是:

<DeliveryApptCreateRequest d2p1:ApptType="Pallet" d2p1:PickupOrDelivery="Delivery" d2p1:ShipperApptRequestID="4490660303D5" d2p1:SchedulerCRID="234234" xmlns:d2p1="http://idealliance.org/Specs/mailxml12.0a/mailxml_defs" xmlns="http://idealliance.org/Specs/mailxml12.0a/mailxml_tm">
<SubmittingParty d2p1:MailerID6="123446" d2p1:CRID="342343" d2p1:MaildatUserLicense="A123" />
<SubmittingSoftware d2p1:SoftwareName="asds" d2p1:Vendor="123" d2p1:Version="12" />
<SubmitterTrackingID>2CAD3F71B4405EB16392</SubmitterTrackingID>
<DestinationEntry>No</DestinationEntry>
<OneTimeAppt>
  <PreferredAppt>2012-06-29T09:00:00Z</PreferredAppt>
</OneTimeAppt>    
<TrailerInfo>
  <Trailer>
    <TrailerNumber>A</TrailerNumber>
    <TrailerLength>20ft</TrailerLength>
  </Trailer>
  <Carrier>
    <CarrierName>N/A</CarrierName>
    <URL>http://test.com</URL>
  </Carrier>
  <BillOfLadingNumber>N/A</BillOfLadingNumber>
</TrailerInfo>   
</DeliveryApptCreateRequest>
Run Code Online (Sandbox Code Playgroud)

在所需的方法之后,应将其更改为所有没有前缀的元素名称mailxml:.就像DeliveryApptCreateRequest应该成为mailxml:DeliveryApptCreateRequest 元素一样d2p1:CompanyName应该保持原样.

我试过以下代码

 private void RepalceFile(string xmlfile)
    {
        XmlDocument doc = new XmlDocument();
        doc.Load(xmlfile);
        var a = doc.CreateAttribute("xmlns:mailxml12tm");
        a.Value = "http://idealliance.org/Specs/mailxml12.0a/mailxml_tm";
        doc.DocumentElement.Attributes.Append(a);
        doc.DocumentElement.Prefix = "mailxml12tm";

        foreach (XmlNode item in doc.SelectNodes("//*"))
        {
            if (item.Prefix.Length == …
Run Code Online (Sandbox Code Playgroud)

.net c# xml xml-parsing

6
推荐指数
1
解决办法
1万
查看次数

当我有锚标记时,itextsharp"文档没有页面"错误

我正在将一些html转换为pdf.它工作正常但是当我在我的html中有锚标记时我得到错误文档没有页面

我的代码是

 byte[] data;
 using (var sr = new StringReader(sw.ToString()))
 {
    var st = new StyleSheet();

    GetStyleSheetForUnicodeCharacters(st);
    using (var ms = new MemoryStream())
    {
       using (var pdfDoc = new Document())
       {                            
           using (var w = PdfWriter.GetInstance(pdfDoc, ms))
           {
              pdfDoc.Open();
              var parsedHtmlElements = HTMLWorker.ParseToList(sr, st);
              foreach (var htmlElement in parsedHtmlElements)
              {
                 pdfDoc.Add(htmlElement as IElement);
              }
              pdfDoc.Close();
              data = ms.ToArray();
           }
       }
    }
 }
Run Code Online (Sandbox Code Playgroud)

c# asp.net itextsharp

5
推荐指数
1
解决办法
2万
查看次数

.net 框架中的 ImportPkcs8PrivateKey 和 ImportRSAPrivateKey 替代方案

在.net core 3.1中,我按照以下函数使用 ImportPkcs8PrivateKey 和 ImportRSAPrivateKey 进行一些 RSA 私钥导入

 private RSA RsaKeyAsPerContent()
        {
            //https://csfieldguide.org.nz/en/interactives/rsa-key-generator/
            //https://travistidwell.com/jsencrypt/demo/
            RSA rSA = RSA.Create();
            string privateKeyContent = "...."
            bool isPkcsprivateKey = privateKeyContent.Contains("BEGIN PRIVATE KEY");
            if (isPkcsprivateKey)
            {
                var privateKey = privateKeyContent.Replace("-----BEGIN PRIVATE KEY-----", string.Empty).Replace("-----END PRIVATE KEY-----", string.Empty);
                privateKey = privateKey.Replace(Environment.NewLine, string.Empty);
                var privateKeyBytes = Convert.FromBase64String(privateKey);
                rSA.ImportPkcs8PrivateKey(privateKeyBytes, out int _);
            }
            else
            {
                var privateKey = privateKeyContent.Replace("-----BEGIN RSA PRIVATE KEY-----", string.Empty).Replace("-----END RSA PRIVATE KEY-----", string.Empty);
                privateKey = privateKey.Replace(Environment.NewLine, string.Empty);
                var privateKeyBytes = Convert.FromBase64String(privateKey);
                rSA.ImportRSAPrivateKey(privateKeyBytes, out int …
Run Code Online (Sandbox Code Playgroud)

.net c# rsa

5
推荐指数
1
解决办法
1万
查看次数

在 .net core 3.0 中将我的 newtonsoft 实现转换为新的 JSON 库期间的默认值

我正在将我的 .net core 2.1 转换为 3.0,并从 newtonsoft 升级到内置的 JSON 序列化程序。

我有一些设置默认值的代码

[DefaultValue(true)]
[JsonProperty("send_service_notification", DefaultValueHandling = DefaultValueHandling.Populate)]
public bool SendServiceNotification { get; set; }
Run Code Online (Sandbox Code Playgroud)

请帮我解决 System.Text.Json.Serialization 中的等效项。

c# json.net .net-core-3.0 system.text.json

4
推荐指数
1
解决办法
1434
查看次数

安装Visual Studio 2012后无法连接任何远程数据库服务器

我有一台安装了VS2010和sql server 2005,2008的机器.在安装VS2012之前,我能够从我的应用程序连接每个远程数据库服务器.安装VS2012后,我收到"尝试读取或写入受保护的内存.这通常表明其他内存已损坏." 我有数据库调用的代码.如果我尝试连接本地数据库,它连接正常.我尝试的是通过Visual Studio 2010中的服务器资源管理器连接.它成功连接到本地源.但是当我尝试连接到远程源时,它会崩溃VS2010并在事件查看器中获取以下错误

Faulting application name: devenv.exe, version: 10.0.40219.1, time stamp: 0x4d5f2a73
Faulting module name: netconfig.dll, version: 1.0.0.5, time stamp: 0x50a60f11
Exception code: 0xc0000005
Fault offset: 0x0000fdac
Faulting process id: 0xb40
Faulting application start time: 0x01ceae0dd4041a18
Faulting application path: C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
Faulting module path: C:\WINDOWS\system32\drivers\imonagent\netconfig.dll
Report Id: 5fec2d1f-1a01-11e3-bf8e-4c001050978f
Run Code Online (Sandbox Code Playgroud)

我已阅读以下帖子和下载的实用程序,但它也没有表明我的机器有任何错误 http://social.msdn.microsoft.com/Forums/vstudio/en-US/81e1b380-afe1-46ad-9c91-a588e0a5aa4b/how-至重新启用远程-SQL服务器的连接-后安装视觉工作室-2012

请帮我解决这个问题.问题不仅发生在我正在调试时,还有人试图在我的机器中查看托管站点有一些远程数据库服务器连接

sql-server visual-studio-2010 visual-studio-2012

3
推荐指数
1
解决办法
3489
查看次数

Sitefinity 在动态模块上搜索结果没有 url

我在 Sitefinity 6.3 中使用 sitefinity 搜索 问题是,在搜索结果中,来自动态模块的项目没有链接。也就是说,与动态模块相关的项目没有 href,而其他项目则显示正常

<dt class="sfsearchResultTitle"><a id="cphContent_ctl01_ctl00_ctl00_resultsList_A1_1">my item data in dynamic module</a></dt>
Run Code Online (Sandbox Code Playgroud)

请让我知道该怎么办?

在文档中提到

配置动态模块的搜索索引设置 如果您在动态模块项目或为任何模块创建的自定义字段中搜索,则必须设置您希望系统搜索的字段。您可以通过展开“高级”并输入要搜索的字段(以逗号分隔)来执行此操作。例如,如果您想按定义搜索动态内容类型,请输入定义。

但尚不清楚。

我通过检查设置 - >高级 - >动态模块 - >控件 - > mydynamic模块 - >视图 - > mydynamicmoduleBackendList - > SearchFields来检查我的字段是否在搜索字段列表中提及

我的字段会自动在那里提及

我的搜索用户控件的标记为

<asp:Repeater ID="resultsList" runat="server">
                <HeaderTemplate>
                    <dl class="sfsearchResultsWrp sfsearchReultTitleSnippetUrl">
                </HeaderTemplate>
                <ItemTemplate>
                    <div class="search-result">
                        <div class="inner">
                            <div class="font22 bold result-title">
                                <dt class="sfsearchResultTitle"><a id="A1" runat="server" href='<%# Eval("Link")%>'><%# Eval("Title") %></a></dt>
                            </div>
                            <div class="font13">
                                <br>
                                <dd class="sfsearchResultUrl"><a id="A2" runat="server" href='<%# Eval("Link")%>'><%# Eval("Link")%></a></dd>
                            </div>
                        </div> …
Run Code Online (Sandbox Code Playgroud)

sitefinity

3
推荐指数
1
解决办法
1777
查看次数

在.net core 3中将newtonsoft代码转换为System.Text.Json。JObject.Parse和JsonProperty等效什么

我正在将我的newtonsoft实现转换为.net core 3.0中的新JSON库。我有以下代码

public static bool IsValidJson(string json)
{
    try
    {                
        JObject.Parse(json);
        return true;
    }
    catch (Exception ex)
    {
        Logger.ErrorFormat("Invalid Json Received {0}", json);
        Logger.Fatal(ex.Message);
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我找不到任何等效的 JObject.Parse(json);

以及JsonProperty等效的属性是什么

public class ResponseJson
{
    [JsonProperty(PropertyName = "status")]
    public bool Status { get; set; }
    [JsonProperty(PropertyName = "message")]
    public string Message { get; set; }
    [JsonProperty(PropertyName = "Log_id")]
    public string LogId { get; set; }
    [JsonProperty(PropertyName = "Log_status")]
    public string LogStatus { get; set; }

    public string …
Run Code Online (Sandbox Code Playgroud)

c# serialization json.net .net-core-3.0 system.text.json

3
推荐指数
1
解决办法
811
查看次数

用于添加 xml 序列化的 .net core 3 等效网络配置

等效设置应该是什么

services.AddMvc(options => { 
    options.RespectBrowserAcceptHeader = true; 
})
.AddXmlSerializerFormatters()
.AddXmlDataContractSerializerFormatters();
Run Code Online (Sandbox Code Playgroud)

在 ASP.NET Core 3.0 中

问题的详细信息可以参见https://github.com/dotnet/corefx/issues/42085

c# asp.net-core-3.0 .net-core-3.0

3
推荐指数
1
解决办法
3126
查看次数

WCF中DataMember的Name属性看起来不起作用

我有WCF服务暴露给多个客户端.在某些客户端数据库名称中,外壳不合适.我的类属性根据外壳标准具有无效的属性名称

public class TransactionParamter
{
    [DataMember]
    public string orderId;
    [DataMember]
    public string orderDetails;
    [DataMember]
    public double orderSumTotal;
}
Run Code Online (Sandbox Code Playgroud)

我试图改变它

public class TransactionParamter
{
    [DataMember(Name= "orderId")]
    public string OrderId;
    [DataMember(Name= "orderDetails")]
    public string OrderDetails;
    [DataMember(Name= "orderSumTotal")]
    public double OrderSumTotal;
}
Run Code Online (Sandbox Code Playgroud)

但看起来像数据成员名称 属性不起作用.我已经尝试过WCF测试客户端,在进行WCF参考时,它显示了像OrderId和OrderDetails这样的peroperty,而不是我在Name Attribute中声明的那个.请帮我纠正一下

c# wcf .net-4.5

2
推荐指数
1
解决办法
431
查看次数

如何在没有 x5c 的情况下从 jwks 验证 JWT 的签名

我有一个 JWT 安全令牌,需要通过 jwks 端点进行验证。jwks 中的数据如下所示:

{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "alg": "RS256",
      "n": "......",
      "kid": "2132132-b1e6-47e7-a30f-1831942f74bd"
    },
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "alg": "RS256",
      "n": "......",
      "kid": "tsp-app-a"
    },
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "alg": "RS256",
      "n": ".....",
      "kid": "tsp-app-b"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一个第三方 api,但它看起来依赖于 x5c 密钥,而我的案例中不存在该密钥。

我的代码是:

public static bool Validate(JwtSecurityToken jsonToken)
        {
            bool result = false;
            try
            {
                var headers = Jose.JWT.Headers<JWTHeader>(jsonToken.RawData);
                var payload = Jose.JWT.Payload<JWTPayload>(jsonToken.RawData);

                string jwk …
Run Code Online (Sandbox Code Playgroud)

c# rsa jwt .net-core jwk

2
推荐指数
1
解决办法
2102
查看次数

混合密码学。要解密的数据长度无效

我在混合加密实现过程中遇到上述错误。

按照https://en.wikipedia.org/wiki/Hybrid_cryptosystem

我只是停留在最后一步

我的代码是

 private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                CspParameters cspParams = new CspParameters { ProviderType = 1 };
                RSACryptoServiceProvider rsaProvider = new RSACryptoServiceProvider(2048, cspParams);
                string publicKey =lblPublicKey.Text = Convert.ToBase64String(rsaProvider.ExportCspBlob(false));
                string privateKey = lblPrivateKey.Text= Convert.ToBase64String(rsaProvider.ExportCspBlob(true));
                string symmericKey = txtBoxSymmetricKey.Text = "Kamran12";
                txtEncryptedData.Text = EncryptData(txtInputData.Text, symmericKey);
                txtBoxEncryptedSymmetricKey.Text = RSA_Encrypt(symmericKey, publicKey);



                txtBoxDescryptedSymmetricKey.Text = RSA_Decrypt(txtBoxEncryptedSymmetricKey.Text, privateKey);
                txtDecryptedData.Text = DecryptData(txtEncryptedData.Text, txtBoxDescryptedSymmetricKey.Text); //getting error length of the data to decrypt is invalid
            }
            catch (Exception exc)
            {

            }

        }

        public …
Run Code Online (Sandbox Code Playgroud)

c# cryptography encryption-asymmetric encryption-symmetric hybrid

0
推荐指数
1
解决办法
262
查看次数