我正在创建一个基本上只需要将一段XML发送到服务器并返回的应用程序.我遇到了麻烦,但要让它工作并得到非常奇怪的错误
public bool Post(string data)
{
string server="http://my-lan-computer:9091/foo"
bool success = false;
HttpClient client = new HttpClient();
try
{
client.PostAsync(server, new StringContent(data, Encoding.UTF8, "text/xml")).Wait(); //error here
success = true;
} catch { }
return success;
}
Run Code Online (Sandbox Code Playgroud)
我发布的服务器不是localhost,但它是我本地网络上的一台计算机.我深深嵌套这个错误:
innerException: {"An error occurred while sending the request."}
innerException: {"Unable to connect to the remote server"}
innerException: {"An attempt was made to access a socket in a way forbidden by its access permissions 123.123.123.123:9091"}
Run Code Online (Sandbox Code Playgroud)
我的应用程序具有Internet客户端功能.我可以通过其他商店应用访问我的本地网络和互联网.我可以在firefox中访问资源获得正确的行为.我没有启用防火墙,也没有阻止这些端口的防病毒软件
什么可能导致这个模糊的错误?我该如何解决?
我一直在尝试为我的一个开源项目遵循松散的TDD工作流程.它是其他程序员使用的API.
因此,一个关键方面以及使API"工作"也在设计它将如何被消费.我听说有些人说在编译之前编写测试是浪费时间,并且在API稳定之前容易不断重写.我也听说它应该遵循这样的工作流程:
我一直在努力遵循这个工作流程,但我最终得到了一些奇怪的东西.例如,在我的API中,我有以下两种方法:
Handles(string pattern); //had this one already
Handles(IPatternMatcher pattern); //needed this one
Run Code Online (Sandbox Code Playgroud)
我需要将第二种形式的方法添加到我的API中.所以,我最终得到了一个死的简单测试:
public void Handles_SupportsIPatternMatcher()
{
var api=new MyAPI();
api.Handles(new TestPatternMatcher());
}
Run Code Online (Sandbox Code Playgroud)
它实施后似乎是一种浪费.
我应该继续关注此工作流程,还是有办法改进它?如何编写基本上只检查编译器错误的测试?由于它是一个可公开使用的API,我应该担心这样的测试吗?
因此,我从Visual Studio创建了一个全新的ASP.Net MVC 4应用程序.令我惊讶的是,在拉入并编译所有包装后,一个"空"项目的重量为54Mb.显然,我不想在源代码控制中添加不必要的东西,尤其是二进制文件.
我认为该packages.config文件将控制包,以便在丢失时重新下载它们,我可以删除packages目录,但这不起作用.删除后packages,我收到如下错误:" BundleCollection无法找到".我检查了项目的参考资料,似乎没有解决任何问题的问题.这是从哪里来的?我也缺少明显常见的命名空间System.Web.Optimization.我在我的项目中引用它并且Visual Studio报告引用是"已解析",但它指向(已删除)包目录,我假设它是错误输出的原因.
将ASP.Net MVC 4应用程序放在源代码控制中的惯用方法是什么,特别是管理NuGet包?
所以,我在哈德森有几个工作需要3-6个小时才能运行.从机是在VM上运行的各种不同的Windows操作系统.有时会出现轻微的打嗝,显然会导致打开6小时的插座关闭.(即使有完美的网络,这似乎并不疯狂)所以,我最终得到了一个指向这个的堆栈跟踪:
hudson.remoting.RequestAbortedException: hudson.remoting.RequestAbortedException: java.net.SocketException: socket closed
Run Code Online (Sandbox Code Playgroud)
有没有插件或其他方式我可以解决这个非常烦人的问题?当你在4小时的构建中经过3个小时并因此而失败时,这有点令人气愤.
我正在查看vim源代码,特别是文件normal.c,我看到这个函数nv_operator正在使用,但它没有在任何地方定义(我grepped整个src目录)
它只被声明为:
static void nv_operator __ARGS((cmdarg_T *cap));
Run Code Online (Sandbox Code Playgroud)
我查了__ARGS的定义,但它只是......
在vim.h中没有(几乎没有):
#define __ARGS(x) x
Run Code Online (Sandbox Code Playgroud)
那么可能会发生什么?这是某种C创建虚拟函数的技术吗?
是否有框架或其他东西,以便我可以像PHP一样在Ruby中开发网页.就像是
<html><head></head><body>
<?ruby
puts '<p> Hello there!</p>'
?>
</body></html>
Run Code Online (Sandbox Code Playgroud)
我在网页中使用Ruby的唯一看法是巨大的复杂框架,它与PHP的工作原理完全不同.我的意思是,确保这对3层模型都很好,但是当你只想在网页中完成一些简单的事情(在PHP中很简单)时,设置这么大的框架似乎并不合适.特别是当你真的想要用Ruby编写的1个页面时,其余的都是纯HTML.
我们正在Mono/*nix上创建一个在ASP.Net上运行的项目
我们的问题是我们在Windows上开发,我们只是在Mono上经常构建和测试它.因此,我们最近遇到了一些区分大小写的文件名.一切似乎在Windows中运行良好,然后我们转移到Mono并且它默默地被破坏了.(因为,它构建但不会运行或部分不起作用)
在我们开发Windows的过程中,您如何建议我检测到这一点?基本上,我们如何使代码中的区分大小写的文件名看起来不对,代码在Windows上运行但不是*nix?
我最近一直在搞乱jquery(ui),现在我想在我的个人网站上添加一些jquery位.好吧,Theme Roller制作的主题非常棒,我希望我的整个网站看起来都像这样,而不仅仅是少数几个支持jquery的部分.那么,使用http://jqueryui.com/docs/Theming/API中列出的css类对你自己没有使用任何javascript的东西是不对的?喜欢做一个<div class="ui-widget">
是否有一些更容易/更清洁的方法来做到这一点,我没有看到?这是正常的做法还是过度杀伤?
我注意到一些奇怪的事情 - 当我用WHERE field=1和执行查询时,MySQL正在返回两个不同的数据集WHERE field='1'.
在field被定义为枚举( '0', '1', '2').
我怎么可能获得不同的数据集?
对于第一个查询,我得到大约500条记录.第二次,我得到19(!!!).
我无法解释.有任何想法吗?
谢谢,Boda Cydo.
我想知道C++/CLI的用途是什么.在我看来,它基本上是在.Net上运行的C++,我在这个想法中错了吗?到底有什么好处呢?为什么不使用C#或其他一些真正的托管语言呢?
c# ×3
.net ×2
asp.net ×2
api-design ×1
c ×1
c++-cli ×1
css ×1
hudson ×1
jquery-ui ×1
mono ×1
mysql ×1
networking ×1
nuget ×1
nunit ×1
php ×1
ruby ×1
tdd ×1
themeroller ×1
unit-testing ×1
vim ×1