有谁知道将Java方法作为Web服务发布的一种非常简单的方法?我真的不想要使用Tomcat或Jetty或任何其他容器框架的开销.
场景:我在服务类型应用程序中有一组Java方法,我想从本地LAN上的其他机器访问.
我正在编写一个Windows服务应用程序,它将通过.NET Remoting访问.问题是我无法弄清楚如何从远程类访问服务对象.
例如,我有一个处理程序类:
class Service_console_handler
{
public int something_more = 20;
//some code...
TcpChannel serverChannel = new TcpChannel(9090);
ChannelServices.RegisterChannel(serverChannel);
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(RemoteObject), "RemoteObject.rem",
WellKnownObjectMode.Singleton);
//from here on RemoteObject is accessible by clients.
//some more code doing something and preparing the data...
}
Run Code Online (Sandbox Code Playgroud)
我有一个远程课程:
public class RemoteObject : MarshalByRefObject
{
private int something = 10;
public int Get_something()
{
return something;
}
}
Run Code Online (Sandbox Code Playgroud)
客户端可以毫无问题地访问RemoteObect中的数据.但是我如何访问Service_console_handler对象(即从中检索有用信息something_more)?
抱歉愚蠢的问题,并提前感谢.
我想知道,是否可以通过.net应用程序以编程方式关闭远程PC?
如果是的话,怎么样?
我有一个Web应用程序,它使用.NET Remoting将长时间运行的请求传递到另一台计算机上的Windows服务.我被告知.NET Remoting是一种过时的技术,它应该不再使用.
我应该使用WCF重写服务,还是保持原样?如果我重写它,当微软用其他东西取代WCF时,我是否还得重写它?
注意:这不是一个修辞问题.微软已经至少改变了三次远程故事.(DCOM,.NET Remoting,WCF,?...)
在AppDomain中A我有一个o类型的对象T.T既不是也不Serializable是源于MarshalByRefObject.类型T由插件主机提供,我无法控制.
我想创建一个AppDomain B并将代理传递o给一个方法B,但是我很难过:如何创建代理?
该方法B应该能够调用方法o和读取属性等.这些方法的结果必须以类似的方式代理.
我有一个 .NET 2.0 远程处理应用程序,它需要在可能位于不同域或根本没有域的机器之间进行通信。它正在使用 TCP 通道。
一切正常,直到我启用加密,然后在连接时出现错误“服务器拒绝了客户端凭据。” 我已经做了很多搜索,但找不到适合我的解决方案。
我尝试过各种频道设置,但没有任何成功。
我的远程对象有它自己的内置身份验证,所以我不需要 Windows 进行任何类型的身份验证。
底线问题是:
“我可以在 .NET 远程 TCP 通道上启用加密,而无需 Windows 尝试验证客户端的凭据吗?”
我有两个应用程序 - > App1和App2.App1通过使用System.Diagnostic.Process()传递一些命令行参数来打开App2.用户现在可以访问App2.
但是,当用户更改App1中的某些命令参数时,我需要打开现有的应用程序(App2)而不使用新参数关闭它.
我怎样才能做到这一点?
任何反馈都会有所帮助.
我有两个.NET程序集注册为COM +组件,我正在从常规控制台应用程序测试工具中测试它们;
Dim objFirst As New MyFirstComponent() 'COM+ initialisation
Dim RC As Boolean = objFirst.GetValue()
Run Code Online (Sandbox Code Playgroud)
方法调用成功执行.这是MyFirstComponent的定义;
<ProgId("MyFirstComponent")> _
<Guid("...")> _
<ClassInterface(ClassInterfaceType.None)> _
<Transaction(TransactionOption.Supported)> _
Public Class MyFirstComponent
Inherits ServicedComponent
Implements IMyFirstComponent
Public Function GetValue() As Boolean Implements IMyFirstComponent.GetValue
Dim objSecond As New MySecondComponent() 'COM+ initialisation
Dim RC As Boolean = objSecond.GetValue()
Return RC
End Function
End Class
Run Code Online (Sandbox Code Playgroud)
在MySecondComponent初始化的时候,我得到一个带有以下消息的RemotingException;
无法加载类型'MySecondComponent',...,Version = ...,Culture = neutral,PublicKeyToken = ...'
所有程序集也都有很强的名称.我无法弄清楚为什么我可以成功触发对第一个组件的方法调用,但是当它试图随后加载第二个组件本身时,它无法解析该类型.
作为旁注,如果我在测试工具中运行"GetValue()"主体的代码,它会按预期执行.一旦事情进入调用其他COM +组件的COM +组件领域,问题似乎才会出现.
更新
我想我现在正在缩小这个问题.似乎COM +正在持续进行某些操作,我必须在运行客户端之前从组件服务窗口手动关闭COM +应用程序.之前的问题是我每次更改内容时都在测试客户端(比如将程序集添加到GAC),并且出于某种原因,COM +仍然认为无法找到程序集.关闭应用程序,将所需的程序集添加到GAC并再次运行客户端按预期工作.
这对我的小概念证明客户端来说很好.所以我回到我的真实代码并试了一下,但现在我又遇到了另一个奇怪的问题.我的COM +应用程序似乎无法找到他们正常的项目引用.我真的不想继续添加他们引用GAC的一切,所以我现在试图找出为什么我的普通,非COM +引用没有得到解决.
我们正在转换Flex应用程序以使用一些REST API.
将mx.rpc.http.HTTPService类添加到代码时,SWF二进制输出从175KB增加到260KB.这是一个不可接受的打击.
有没有更好的方法从Flex应用程序执行轻量级REST调用?我们最好使用外部接口JS来从那里进行调用吗?
我有一个域名和网络空间(网络正在运行,其ASP.net 3.5).我正在开展一个项目,我需要通过互联网连接2台计算机.
是否可以通过简单的ASP.Net网站实现这一目标?我还需要做些什么呢?
谢谢
编辑
实际上我想实时将数据从一台计算机发送到另一台计算机,我的意思是当我们聊天时,我们互相交换文本.我想要实现同样的目标.
remoting ×10
.net ×5
c# ×5
wcf ×2
apache-flex ×1
asp.net ×1
c#-3.0 ×1
com+ ×1
encryption ×1
java ×1
rest ×1
web-services ×1