小编bre*_*iba的帖子

获取具有相同类的第二个节点

我在使用HtmlAgilityPack解析一些节点时遇到了一些麻烦.

这是问题所在:

我有许多节点与"测试"类,但我想选择第二个节点.

如果我做这样的事情:

html.DocumentNode.SelectSingleNode ("//font[@class='test' and position()=1]")
Run Code Online (Sandbox Code Playgroud)

它返回我期望的值...但如果我尝试获取第二个它返回null ...但问题是..为什么?

html.DocumentNode.SelectSingleNode ("//font[@class='test' and position()=2]")
Run Code Online (Sandbox Code Playgroud)

这行代码给我带来了所有这些,现在我真的很困惑,因为使用position()= 1,lib必须只返回第一个,对吧?

html.DocumentNode.SelectNodes ("//font[@class='test' and position()=1]")
Run Code Online (Sandbox Code Playgroud)

多谢你们!

c# html-agility-pack

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

Fiddler没有显示HTTPS流量

我在Fiddler中启用了“解密HTTPS流量”和“忽略服务器证书错误”,但未显示一个网站的流量。

这是Fiddler返回的错误:

[提琴手]与“ ...”的连接失败。System.Security.SecurityException无法与server.fiddler.network协商HTTPS连接。https>到...的HTTPS握手失败。System.IO.IOException从传输流接收到意外的EOF或0个字节。

我记得我可以忽略Fiddler脚本中的此错误,但我真的不记得了。

有人知道发生了什么吗?

谢谢!=)

https fiddler

3
推荐指数
2
解决办法
7268
查看次数

将音频文件分割成多个片段

I\xc2\xb4m 尝试将音频文件分成一些部分。

\n\n

事实是:我有一个字节数组,我想将 wav 文件分割成一些随机块(例如 3 个)。

\n\n

当然,我知道我可以\xc2\xb4t做这样的事情。但有人知道如何做到这一点吗?

\n\n
byte[] result = stream.ToArray();\nbyte[] testing = new byte[44];\n\nfor (int ix = 0; ix < testing.Length; ix++)\n{\n    testing[ix] = result[ix];\n}\n\nSystem.IO.File.WriteAllBytes("yourfilepath_" + System.Guid.NewGuid() + ".wav", testing);\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想用 C# 构建这个解决方案,但我听说有一个名为 Sox 的库,我可以像这样用沉默间隙来分割:

\n\n
sox in.wav out.wav silence 1 0.5 1% 1 5.0 1% : newfile : restart\n
Run Code Online (Sandbox Code Playgroud)\n\n

但每次运行此命令时,只生成一个文件。(音频文件持续 5 秒,每个分割文件必须有大约 1 秒的内容)。

\n\n

做这个的最好方式是什么?

\n\n

非常感谢!

\n

c# audio .net-4.5

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

属性httpRequest'不存在

我在Visual Studio外部运行构建时收到此错误:

"名称为'httpRequest'的属性不存在"

如果我在Visual Studio中运行SAME代码,它可以工作.有没有人知道我做错了什么?

我的app.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
  </startup>
  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="CacheServiceEndpoint" />
        <binding name="consultaWebServicePortBinding" maxBufferPoolSize="524288" maxBufferSize="10485760"
  maxReceivedMessageSize="10485760">
          <readerQuotas maxDepth="32" maxStringContentLength="10485760"
            maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <security mode="Transport" />
        </binding>
        <binding name="consultaWebServicePortBinding1" />
      </basicHttpBinding>
      <customBinding>
        <binding name="CustomBinding_ICacheService">
          <binaryMessageEncoding />
          <httpTransport />
        </binding>
      </customBinding>
    </bindings>
    <client>
      <endpoint address="http://....svc"
          binding="basicHttpBinding" bindingConfiguration="CacheServiceEndpoint"
          contract="Cache.ICacheService" name="CacheServiceEndpoint" />
      <endpoint address="http://.../binary"
          binding="customBinding" bindingConfiguration="CustomBinding_ICacheService"
          contract="Cache.ICacheService" name="CustomBinding_ICacheService" />
      <endpoint address="https://..."
          binding="basicHttpBinding" bindingConfiguration="consultaWebServicePortBinding"
          contract="ABC.consultaWebService" name="consultaWebServicePort" />
    </client>
  </system.serviceModel>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我正在做什么打电话:

svc = …
Run Code Online (Sandbox Code Playgroud)

c# wcf

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

将方法转换为通用方法以避免重复代码

我需要以下方面的帮助:我多次调用了一个如下所示的方法:

private void saveA(myObjA myObj, List<A> myList) {
    if (myList != null && !myList.isEmpty()) {
        myObj.saveAll(myList);
    }
}

private void saveB(myObjB myObj, List<B> myList) {
    if (myList != null && !myList.isEmpty()) {
        myObj.saveAll(myList);
    }
}

...
Run Code Online (Sandbox Code Playgroud)

接口示例:

public interface myObjA
    extends JpaRepository<A, Long> {

}

public interface myObjB
    extends JpaRepository<B, Long> {

}

...
Run Code Online (Sandbox Code Playgroud)

问题是我正在为所有其他调用(myObjB、myListB、myObjC、myListC)创建一个新调用。myObj 实际上是一个接口,第二个参数始终是某个对象的列表。有没有办法将此方法转换为单个方法并在调用中指定对象类型?

java jpa

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

方法内部的通用对象

我对通用对象有一些疑问,我不知道我的想法是否可以轻松实现......

我有对象实现相同的接口,所以方法几乎等于主要对象,如下面的代码:

public bool Func1 (Bitmap img)
{
   Obj1                 treatments    = new Obj1 ();
   List<UnmanagedImage> unmanagedList = treatments.ExtractLetters(img);

   // Check image treatments
   if (!treatments.WasSuccessful)
      return false

   return true
}

public bool Func2 (Bitmap img)
{
   Obj2                 treatments    = new Obj2 ();
   List<UnmanagedImage> unmanagedList = treatments.ExtractLetters(img);

   // Check image treatments
   if (!treatments.WasSuccessful)
      return false

   return true
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我不想复制代码.有没有简单的方法使这个Obj1和Obj2通用?因为我只能编写一个函数,然后函数可以在对象中执行转换,因为其余的是相同的.

谢谢!

c# c#-4.0

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

标签 统计

c# ×4

.net-4.5 ×1

audio ×1

c#-4.0 ×1

fiddler ×1

html-agility-pack ×1

https ×1

java ×1

jpa ×1

wcf ×1