小编Nav*_*vid的帖子

为什么我们需要像Nuget这样的包管理器?

我知道当我们想要使用第三方组件时,像NuGet这样的Package Manager会帮助我们.

来自Nuget Codeplex页面:

NuGet是一个面向.NET平台的免费开源开发人员软件包管理系统,旨在简化在开发过程中将第三方库合并到.NET应用程序中的过程.

.NET平台上有大量有用的第三方开源库,但对于那些不熟悉OSS生态系统的人来说,将这些库拉入项目可能会很麻烦.

我们以ELMAH为例.这是一个很好的错误记录实用程序,它不依赖于其他库,但仍然是集成到项目中的挑战.这些是它需要采取的步骤:

Find ELMAH
Download the correct zip package.
“Unblock” the package.
Verify its hash against the one provided by the hosting environment.
Unzip the package contents into a specific location in the solution.
Add an assembly reference to the assembly.
Update web.config with the correct settings which a developer needs to search for. 
Run Code Online (Sandbox Code Playgroud)

这适用于没有依赖关系的库.想象一下为NHibernate.Linq做这个,它有多个依赖,每个都需要类似的步骤.我们可以做得更好!

NuGet为包及其依赖项自动执行所有这些常见和繁琐的任务.它消除了将第三方开源库合并到项目源代码树中的几乎所有挑战

这些步骤是我们在设置项目时所做的简单任务.它仅用于自动添加第三方组件并降低配置文件中出现错误的可能性?或者它有更多的责任!

package-managers visual-studio nuget

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

PHP环境中的Web服务代理生成器

在Visual Studio中,当我们想要使用Web服务时,我们只需添加服务引用,然后只需将Web服务地址复制并粘贴到地址字段,然后单击Go!

在此输入图像描述

在Visual Studio IDE(或svcutil.exe)的帮助下,我们可以使用生成的代理类进行Web服务.

就像是:

TopUpServiceClient client = new TopUpServiceClient();

TopUpRequest request = new TopUpRequest();
request.MerchantId = 100;
request.ReferenceId = 1001;
request.ServiceType = ServiceType.Prepaid;

TopUpResponse response = client.TopUp(request);
Run Code Online (Sandbox Code Playgroud)

我们有一个客户想要使用我们的服务与php,但他在创建和使用Soap对象和解析WSDL和数据合同对象时遇到了很多问题.

我测试了他的PHP脚本并用fiddler调试它,传递给我们系统的Envelope是完全错误的.(他使用SoapClient和NuSoap没有运气!)

顺便说一下, 我的问题:是否有任何Web服务代理生成器,就像我们在PHP世界中的Visual Studio中所拥有的那样?任何IDE?PhpStorm,NetBeans,Eclips?还是可以帮助我们的任何工具?

我想给他发一些像我们生成的代理环境,他可以轻松使用它!

php web-services webservice-client visual-studio phpstorm

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