我正在尝试使用nettcpbinding发布wcf服务.我想使用?wsdl发布元数据.我在配置文件中添加了以下行:
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
Run Code Online (Sandbox Code Playgroud)
但我在浏览器中看不到wsdl.我做错了什么?谢谢.
编辑:这是我的配置文件的相关部分:
<system.serviceModel>
<services>
<service name="wcfcheck.service1" behaviorConfiguration="wcfcheck.Service1Behavior">
<endpoint address="" binding="netTcpBinding" contract="wcfcheck.Iservice1"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="wcfcheck.Service1Behavior">
<serviceMetadata httpGetEnabled="true" httpGetUrl=""/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
Run Code Online (Sandbox Code Playgroud)
我可能没有访问正确的URL.我尝试了http:// localhost:51159/Service1.svc?wsdl和http:// localhost:51159/Service1.svc/mex?wsdl,没有'?wsdl'.
我试图从用户控件传回一个枚举的字符串列表,如下所示:
<bni:products id="bnProducts" runat="server" ProductsList="First, Second, Third" />
Run Code Online (Sandbox Code Playgroud)
并在代码behid做这样的事情:
public enum MS
{
First = 1,
Second,
Third
};
private MS[] _ProductList;
public MS[] ProductsList
{
get
{
return _ProductList;
}
set
{
_ProductList = how_to_turn_string_to_enum_list;
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是我不知道如何将该字符串转换为枚举列表,那么应该是什么"how_to_turn_string_to_enum_list"?或者你知道在用户控件中使用枚举的更好方法吗?我真的希望能够传递一个整洁的列表
在我现在所在的公司,代码中有很多地方会抛出OurCompanyRuntimeException(其中OurCompany是公司的实际名称).据我所知,这个异常被描述为"我们在这家公司写的代码抛出的运行时异常".
我有点新的爪哇,但我认为异常类型被认为反映了什么地方出了错,而不是其代码抛出异常.例如,IllegalArgumentException意味着有人将非法参数传递给了某些东西.如果在Sun编写的代码中传递了非法参数,那么就不会有SunIllegalArgumentException,然后是IBMIllegalArgumentException - 这将是愚蠢而毫无意义的,对吧?如果您想知道抛出异常的位置,可以查看堆栈跟踪.我理解想要扩展RuntimeException(这样你就没有尽可能多的尝试/捕获或"抛出"),但为什么不创建解释发生了什么的子类,而不是发生在公司的代码中呢?
有没有人曾经使用过OurCompanyRuntimeException这个想法,或者想知道他们为什么会这样做?
您是否有任何理由不宣布受保护的事件支持字段?例如,为了防止必须为所有事件创建OnSomeEvent方法.例如这样:
protected SomeEventHandler someEvent;
readonly object someEventLock = new object();
public event SomeEventHandler SomeEvent
{
add
{
lock (someEventLock)
someEvent += value;
}
remove
{
lock (someEventLock)
someEvent -= value;
}
}
Run Code Online (Sandbox Code Playgroud)
当然,降级课程必须记得在举起活动时锁定等等,但无论如何.
有什么理由不应该这样做?
我正在尝试在PHP中编写一个函数,它接受一个字符串数组(needle)并执行与另一个字符串数组(haystack)的比较.此函数的目的是为AJAX搜索快速提供匹配的字符串,因此需要尽可能快.
这里有一些示例代码来说明这两个数组;
$needle = array('ba','hot','resta');
$haystack = array(
'Southern Hotel',
'Grange Restaurant & Hotel',
'Austral Hotel',
'Barsmith Hotel',
'Errestas'
);
Run Code Online (Sandbox Code Playgroud)
虽然这本身很容易,但比较的目的是计算有多少needle字符串出现在haystack.
但是,有三个限制;
needle必须只在单词的开头的字符匹配.例如,"hote"将匹配"Hotel",但"resta"将不匹配"Errestas".needles的数量,而不是needle出现次数.如果一个地方被命名为"酒店宾馆酒店",我们需要的结果1不是3.使用上面的例子,我们期望得到以下关联数组:
$haystack = array(
'Southern Hotel' => 1,
'Grange Restaurant & Hotel' => 2,
'Austral Hotel' => 1,
'Barsmith Hotel' => 2,
'Erresta' => 0
);
Run Code Online (Sandbox Code Playgroud)
我一直在尝试实现一个函数来执行此操作,使用一个preg_match_all()看起来像的正则表达式/(\A|\s)(ba|hot|resta)/.虽然这确保我们只匹配单词的开头,但它没有考虑包含相同needle两次的字符串.
我发帖看看别人是否有解决方案?
在Maven中,您可以拥有编译时依赖项和测试依赖项.这是我喜欢的功能,M2Eclipse插件也可以在Eclipse中使用,这很棒.因此,如果我将jmock.jar我的项目添加为测试依赖项,它将显示在JUnit测试的类路径中,但在我调试应用程序本身时将不会出现.
这正是我现在想要实现的目标,但没有M2Eclipse或Maven.有没有办法在纯Eclipse中执行此操作?(可能没有安装任何插件.)
我正在与服务器网站上的技术联系人交谈,他希望我使用Visual Studio,而我只想手写脚本.请参阅下面的我需要生成的SOAP请求.(我用虚拟的URL替换了实际的URL).我对ASP和SOAP很陌生,你可能已经猜到了,我试过谷歌一个示例脚本.
POST /PropertySearchService.asmx HTTP/1.1
Host: portal.someurl.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetBranches xmlns="http://portal.someurl.com">
<strClientID>string</strClientID>
</GetBranches>
</soap12:Body>
</soap12:Envelope>
Run Code Online (Sandbox Code Playgroud) 我的问题与Visual Studio 2008有关,虽然我认为在VS2005中应该是这样的
我的工作区有两个解决方案,比如A和B.
解决方案A是一个较旧的项目,我在前一段时间完成了编码.在解决方案B中,我需要使用解决方案A中的一些类.为此,我在解决方案A中添加了对其中一个项目的dll的引用.
问题是当我尝试调试时.我希望能够进入A的代码.Visual Studio无法加载这些类的代码("当前位置没有可用的源代码.")而且我只能查看反汇编,这是无用的.
我知道从解决方案A调试类的唯一方法是运行解决方案B,分离所有进程(在Debug菜单项中)并从解决方案A附加进程.
但是,这非常不方便,我只能一次调试A OR B.
有没有办法允许单步执行引用的dll代码(我有源代码)?
解决方案:我的错误在于我认为项目只能是单一解决方案的一部分.实际上,项目可以是许多解决方案的一部分.
当您需要引用旧项目时,您只需将项目添加到解决方案中.通过在解决方案资源管理器>添加>现有项目中右键单击新解决方案来完成此操作.
然后,您将能够添加项目引用.正如其他人所写,你应该完全避免使用dll引用你自己的代码(或者你可能需要更改和调试的其他代码).
可以在MSDN中找到有关如何设计解决方案的非常好的参考.
我使用shell脚本scp命令使用ssh将一个文件从一个服务器移动到另一个服务器.我的命令如下:
scp -P 23 -i $TEST_SSHKEY $DESTINATION_PATH/$FILETOCOPY $USER_ID@$SERVER_BOX:
Run Code Online (Sandbox Code Playgroud)
文件正在复制,但scp返回的返回码为1.
为什么会发生这种情况?解决方案是什么?
我是GhostDoc在Visual Studio中生成自动注释的忠实粉丝所以我正在寻找一个插件,它在Eclipse中使用我的Java代码完成同样的工作.有什么建议?