我已经构建了一个通过SOAP和RESTly公开的WCF服务.所有SOAP操作都与广告一样有效.GETS/PUTS也可以,但是当我尝试对我的服务中的操作执行POST时,我收到以下错误:
"找不到端点"
IPersonEditServiceContract片段:
[OperationContract]
[WebInvoke(Method="POST",
UriTemplate="/persons",
RequestFormat=WebMessageFormat.Xml,
ResponseFormat=WebMessageFormat.Xml)]
SavePersonResponse SavePerson(SavePersonRequest request);
[OperationContract]
WebGet(UriTemplate = "/persons/{personId}",
ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Bare,
RequestFormat = WebMessageFormat.Xml)]
Person GetClaimantById(string personId);
Run Code Online (Sandbox Code Playgroud)
服务以这种方式配置:
<behaviors>
<endpointBehaviors>
<behavior name="restBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service>
<endpoint address="" binding="basicHttpBinding"
name="DefaultEndpoint"
bindingNamespace="http://mycompany.com/ServiceContracts"
contract="IPersonEditServiceContract" />
<endpoint
address="rest" binding="webHttpBinding"
name="RESTEndpoint"
bindingNamespace="http://mycompany.com/ServiceContracts"
contract="IPersonEditServiceContract"
behaviorConfiguration="restBehavior"/>
</service>
</services>
Run Code Online (Sandbox Code Playgroud)
由于我可以对同一个端点执行其他RESTful操作,因此我不完全确定它为什么会给我这个半有用的错误.
想法?
我有一个安装应用程序的msi文件.我需要在安装开始之前知道该应用程序的产品名称.
我尝试了以下方法:
{
...
Type type = Type.GetType("Windows.Installer");
WindowsInstaller.Installer installer = (WindowsInstaller.Installer)
Activator.CreateInstance(type);
installer.OpenDatabase(msiFile, 0); //this is my guess to pass in the msi file name...
...
}
Run Code Online (Sandbox Code Playgroud)
但现在?Type为null,这会引发错误.我在哪里传递MSI文件的名称?
感谢任何提示和评论.
我在Visual Studio 2005中发布网站时可以排除一个或多个文件夹吗?我有各种各样的资源,我想在解决方案资源管理器中随身携带,例如各种环境的备用配置文件,但我真的不想将它们发布到服务器.有没有办法排除它们?当使用其他项目类型(例如.dll程序集)时,我可以将文件的Build Action属性设置为"None",将其Copy to Output Directory属性设置为"Do not copy".我找不到任何类似的网站文件设置.
如果IDE不提供此功能,是否有人有良好的处理此类文件的技术?
我是python编程的新手.我有这个问题:我有一个文本文件列表(压缩和非压缩)我需要: - 连接到服务器并打开它们 - 在打开文件后,我需要将他的内容传递给另一个我写的python函数
def readLogs (fileName):
f = open (fileName, 'r')
inStream = f.read()
counter = 0
inStream = re.split('\n', inStream) # Create a 'list of lines'
out = "" # Will contain the output
logInConst = "" # log In Construction
curLine = "" # Line that I am working on
for nextLine in inStream:
logInConst += curLine
curLine = nextLine
# check if it is a start of a new log && check if the previous …
Run Code Online (Sandbox Code Playgroud) 我来自.Net阵营,虚拟化更为普遍,需要在服务器软件和系统范围的实体(如GAC)上运行.
现在我正在进行Java开发,继续采用虚拟化是否有意义?我们使用的是VirtualPC,IMO并不是最好的产品.如果我们要继续前进,我们希望能够使用VMWare.
我们正在进行Web开发,不会使用虚拟化来测试不同风格的服务器部署.
优点:
缺点:
我试图使用c3p0在我们的应用程序中记录数据库连接的创建和销毁ConnectionCustomizer
.在其中,我有一些看起来像这样的代码:
log(C3P0Registry.getPooledDataSources())
Run Code Online (Sandbox Code Playgroud)
我遇到了僵局.我发现c3p0在其库中至少有几个使用synchronized方法的对象,并且似乎没有指定它们的预期锁定顺序.当我记录连接时,我正在锁定C3P0Registry
并最终PoolBackedDataSource
(简单地创建数据源列表正在访问导致锁定的哈希码).
关闭连接提供程序(调用C3P0ConnectionProvider.close()
)会导致以相反的顺序调用锁.但是当子数据源被关闭时,我的日志记录正在被触发.结果是僵局.
看起来我在c3p0库中进行的调用都是有效的,预期的调用:
C3P0ConnectionProvider.close()
C3P0Registry.getPooledDataSources()
它似乎(除非在文档中明确说明)它应该是图书馆管理它自己的锁定策略的责任.(我不是说责怪任何人......只是为了确认我对最佳实践的理解)
我该如何处理这个问题?由于c3p0使用的是同步方法而不是更现代的机制,我无法真正测试锁.
从我的DataSource
结束代码,我可以先C3P0Registry
关闭锁定,然后关闭DataSource
.我会猜测正确的锁定顺序,我不知道我是否觉得舒服.
我不认为我可以反转日志记录调用的锁定顺序.我需要C3P0Registry
获取列表DataSources
,所以我无法锁定DataSources
没有先锁定C3P0Registry
以获取它们的引用.
另一种解决方案当然是在c3p0的所有内容之上提供另一个更高级别的锁定.在连接池的情况下,这似乎打败了这一点.
现在,我正在回滚我的伐木.谢谢你的帮助.
我正在使用Wix3 beta和Feature Tree UI.我将几个程序集作为单独的组件安装到ProgramFiles中的自定义子目录中,也安装到GAC中.另外,我想将相同程序集的DEBUG版本打包为一个组件,让用户决定是否安装它们.现在,默认情况下禁用调试程序集的此功能,但无论如何都会安装调试程序集.
相关代码段下方:
<DirectoryRef Id="INSTALLDIR">
<Directory Id="bin" Name="bin">
<Directory Id="Debug" Name="Debug">
<Component Id="DebugComponent" Guid="PUT-GUID-HERE">
<File Id="DebugAssemblyXXX" DiskId="1" Source="Debug\XXX.dll"></File>
</Component>
</Directory>
<Directory Id="Release" Name="Release">
<Component Id="ReleaseComponent" Guid="PUT-GUID-HERE">
<File Id="ReleaseAssemblyXXX" DiskId="1" Source="Release\XXX.dll"></File>
</Component>
</Directory>
</Directory>
</DirectoryRef>
<Feature Id="All" ConfigurableDirectory="INSTALLDIR" Title="Title" Level="1"
Display="expand" AllowAdvertise="no" Absent="disallow" Description="Desc">
<Feature Id="DebugAssemblies" Title="Debug Assemblies" Level="1000" Absent="allow"
AllowAdvertise="no" Description="Debug versions of assemblies.">
<ComponentRef Id="DebugComponent" />
</Feature>
<Feature Id="ReleaseFeature1" Title="Feature" Level="3"
AllowAdvertise="no" Description="Another description">
<ComponentRef Id="ReleaseComponent"/>
</Feature>
</Feature>
Run Code Online (Sandbox Code Playgroud)
奇怪的是,如果我再次运行msi文件并转到"更改"并禁用调试功能,则调试程序集将被删除,例如,这次逻辑工作正常.
默认的INSTALLLEVEL是3.
有什么建议?
在Qt中,如果我右键单击工具栏,将显示允许我隐藏工具栏的菜单.我需要禁用此功能,因为我不希望工具栏可以隐藏.有没有办法做到这一点?
在JUnit4中使用参数化测试时,有没有办法设置我自己的自定义测试用例名称?
我想将默认值 - 更改为[Test class].runTest[n]
有意义的内容.
我正在重新组织我们的java代码库,并希望比较我们生成的jar文件.
当我在旧的源代码树中构建时,我得到的jar文件大小为3360081.
在新的源代码树中,它是3360128.
我做一个"jar tvf jarfile",然后从文件中删除日期.
列表如下所示:
0 Mon Mar 16 10:41:16 EDT 2009 META-INF/
102 Mon Mar 16 10:41:14 EDT 2009 META-INF/MANIFEST.MF
0 Mon Mar 16 10:41:14 EDT 2009 decodes/
Run Code Online (Sandbox Code Playgroud)
剥离日期后,列表如下所示:
0 META-INF/
102 META-INF/MANIFEST.MF
0 decodes/
Run Code Online (Sandbox Code Playgroud)
两个jar列表是相同的.
什么会导致"相同"jar文件中的47字节差异?
我在RedHat Linux 4上运行编译.