我正在尝试使用Rx从TCPClient接收流中读取并将数据解析为字符串的IObservable,由换行符"\ r \n"分隔.以下是我从套接字流接收的内容...
var messages = new Subject<string>();
var functionReceiveSocketData =
Observable.FromAsyncPattern<byte[], int, int, SocketFlags, int>
(client.Client.BeginReceive, client.Client.EndReceive);
Func<byte[], int, byte[]> copy = (bs, n) =>
{
var rs = new byte[buffer.Length];
bs.CopyTo(rs, 0);
return rs;
};
Observable
.Defer(() =>
{
var buffer = new byte[50];
return
from n in functionReceiveSocketData(buffer, 0, buffer.Length, SocketFlags.None)
select copy(buffer, n);
}).Repeat().Subscribe(x => messages.OnNext(System.Text.Encoding.UTF8.GetString(x)));
Run Code Online (Sandbox Code Playgroud)
这是我想出来解析字符串的内容.这目前不起作用......
obsStrings = messages.Buffer<string,string>(() =>
messages.Scan((a, c) => a + c).SkipWhile(a => !a.Contains("\r\n"))
);
Run Code Online (Sandbox Code Playgroud)
消息主题以块的形式接收消息,因此我尝试连接它们并测试连接的字符串是否包含换行符,从而发信号通知缓冲区关闭并输出缓冲的块.不知道为什么它不起作用.似乎我只从obsStrings中获得了第一块.
所以我正在寻找两件事.我想简化io流的阅读并消除邮件主题的使用.其次,我想让我的字符串解析工作.我一直在讨论这个问题,无法提出一个有效的解决方案.我是Rx的初学者.
编辑:这是问题解决后的成品....
var receivedStrings = …
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序设置,每个用户都属于一个公司,该公司有一个子域名(我使用的是basecamp样式的子域名).我面临的问题是rails正在创建多个cookie(一个用于lvh.me,另一个用于subdomain.lvh.me),这在我的应用程序中造成了相当多的中断(例如flash消息在所有请求中都是持久的签到).
我在/cofig/initilizers/session_store.rb文件中有这个:
AppName::Application.config.session_store :cookie_store, key: '_application_devise_session', domain: :all
Run Code Online (Sandbox Code Playgroud)
域名:所有似乎都是我在谷歌上找到的标准答案,但这似乎对我不起作用.任何帮助表示赞赏!
假设我有一个(相当荒谬的)书籍模型属性看起来像:
page:{
paragraph:{
wordcount: {
the: 8,
at: 10
}
}
}
Run Code Online (Sandbox Code Playgroud)
我可以绑定更改非常嵌套的值吗?
book.on("change:page:paragraph:wordcount:the", ...);
Run Code Online (Sandbox Code Playgroud) WPF WebBrowser控件是否依赖于用户计算机上安装的IE版本,还是使用跨机器一致的单独库?我已经读过它只能在IE7模式下渲染,但是我想确保没有安装IE或由于某些原因仍然在IE6上的用户没有任何问题.
我有这个代码:
1: IUnityContainer container = new UnityContainer();
2: container.LoadConfiguration();
Run Code Online (Sandbox Code Playgroud)
第1行有效,但第2行没有.找不到LoadConfiguration作为成员.我想,我已经注册了所有的团结.为什么找不到LoadConfiguration()?
我有一个字符串列表,其中一些字符串自我之前的版本以来已被修改过.一些变化是微不足道的(间隔,一个字等).我想检测只有"轻微"差异的字符串,这样我就可以尝试使用旧的翻译.
"微小差异"是什么意思?在我开始使用数据库之前,我不会知道.
你知道任何可调节的例程,它们将指示两个字符串何时相似但不相同?任何会返回一个数字的例程,表示两个字符串的不同之处?
我不太清楚该怎么做.总体目标是能够获取用户脚本,并在.NET环境中执行它.我已经编写了大部分代码并且工作正常,我不会尝试加载自己的程序集.但是,为了安全地让用户访问系统的内部部分,已经创建了代理DLL.这就是问题所在.
现在这个代理DLL有一个东西,一个接口.
CompilerParameters options = new CompilerParameters();
options.GenerateExecutable = false;
options.GenerateInMemory = true;
options.ReferencedAssemblies.Add("System.dll");
options.ReferencedAssemblies.Add("ScriptProxy.dll");
Microsoft.CSharp.CSharpCodeProvider provider = new Microsoft.CSharp.CSharpCodeProvider();
CompilerResults result = provider.CompileAssemblyFromSource(options, script);
// This line here throws the error:
return result.CompiledAssembly;
Run Code Online (Sandbox Code Playgroud)
运行上面的代码,它会抛出以下错误:
System.IO.FileNotFoundException:无法加载文件或程序集'file:/// C:\ Users ...\AppData\Local\Temp\scts5w5o.dll'或其依赖项之一.该系统找不到指定的文件.
当然我的第一个想法是,"......什么是scts5w5o.dll?"
这是ScriptProxy.dll
不正确加载,还是ScriptProxy.dll本身试图加载依赖项,这些依赖项在某个临时文件中?或者它是完全不同的东西?
我应该提一下,我正在从NUnit测试运行器执行此代码.我不确定这是否有所作为.
我有一个包含一些文本的字符串,最后一个字符可能(可能)是斜杠,我不想要.如果存在,我如何删除它?
这是"正确的"方式吗?
if(substr($str, -1) == "/") $str = rtrim($str, '/');
Run Code Online (Sandbox Code Playgroud) 我正在使用hanselman教程使用Moq为我的asp.net页面创建单元测试.
我编写了以下代码来测试contextbase请求类中的ServerVariables
HttpContextBase contextbase = MoqHelper.FakeHttpContext();
contextbase.Request.ServerVariables.Add("AUTH_TYPE","Forms"); <-- error here
contextbase.Request.ServerVariables.Add("LOGON_USER", "Tom");
contextbase.Request.ServerVariables.Add("REQUEST_METHOD", "GET");
Run Code Online (Sandbox Code Playgroud)
但我得到以下例外.请帮忙.
用户代码未处理System.NullReferenceException消息=未将对象引用设置为对象的实例.
如何创建单元测试来测试服务器变量?
嘿,我是PHp的新手,我正在尝试将详细信息输入我的数据库.我正在尝试输入用户输入的事件名称(POST)和登录用户的用户名.
我创建了用于存储用户用户名的会话,我的代码就是
$eventname=$_POST['eventname'];
$myusername = $_SESSION['myusername']
$sql = mysql_query("INSERT INTO $tbl_nameVALUES('','$eventname','$_SESSION['myusername'])");
echo "You have been added to the event";
Run Code Online (Sandbox Code Playgroud)
它的$ sql语句给出了错误?任何帮助将非常感激.
谢谢大家!
c# ×3
php ×2
.net ×1
asp.net ×1
backbone.js ×1
browser ×1
delphi ×1
devise ×1
javascript ×1
moq ×1
mysql ×1
session ×1
string ×1
unit-testing ×1
wpf ×1