Bir istemci proxy DLL'SI (Soapsuds.exe) Soapsuds aracın oluşturduğu ile bağlandığında, istemci çalışma zamanında bir uzak hizmet özel durum atar. Aşağıdaki hata iletisine benzer bir hata iletisi alabilirsiniz:
Işlenmeyen özel durum: System.Runtime.Remoting.RemotingException: izin türü soap: DenemeSınıfı, etkinleştirme için engellendi http://schemas.microsoft.com/clr/nsassem/EchoExeTest/ServerExe%2C%20Version%3D0.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3Dnull. Sunucu yığın izlemesi: System.Runtime.Remoting.Activation.ActivationListener.Activate(IConstructionCallMessage ctorMsg) System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(MethodBase mb, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs) System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext) en altında en
Yeni bir metin dosyas? olu?turmak için Not Defteri'ni kullanın. Paste the following code in the file:
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Metadata;
using System.Runtime.Remoting.Metadata.W3cXsd2001;
namespace EchoExeTest{
[Serializable]
public class testObject
{
public int x;
public int y;
}
[Serializable]
public struct testStruct
{
public int x;
public int y;
}
public class Server {
public static int Main(string [] args) {
Server servObj = new Server();
servObj.Initialize(args);
System.Console.WriteLine("Press ENTER to exit.");
System.Console.ReadLine();
return 0;
}
public void Usage() {
Console.WriteLine(" Usage : ServerExe -chan:channel.config -mode:mode.config");
}
public int Initialize(string[] args) {
int ret=0;
if (args.Length == 0)
Usage();
for (int i=0;i<args.Length;i++) {
if (
String.Compare(args[i],"HELP", true) == 0 ||
String.Compare(args[i],"?", true) == 0 ||
String.Compare(args[i],"/h", true) == 0 ||
String.Compare(args[i],"-h", true) == 0 ||
String.Compare(args[i],"-?", true) == 0 ||
String.Compare(args[i],"/?", true) == 0
) {
Usage();
return -1;
}
String arg = args[i];
String value = null;
if (args[i][0] == '/' || args[i][0] == '-'){
int index = args[i].IndexOf(':');
if (index != -1) {
arg = args[i].Substring(1, index-1);
//Make sure that a colon (:) is not the last character.
if (index == (args[i].Length - 1))
throw new Exception("Argument cannot be empty -> " + args[i]);
value = args[i].Substring(index+1);
}
else
arg = args[i].Substring(1);
}
//Process the input sources.
if (String.Compare(arg, "chan", true) == 0) {
RemotingConfiguration.Configure(value);
}
else if (String.Compare(arg, "mode", true) == 0) {
RemotingConfiguration.Configure(value);
}
}
ret=100;
return ret;
}
}
public class TestClass : MarshalByRefObject {
public int EchoInt(int intval) {
Console.WriteLine("Method Called");
return intval;
}
public string EchoString(string strval) {
Console.WriteLine("Method Called");
return strval;
}
public DateTime EchoDateTime(DateTime dval) {
return dval;
}
public void voidFunc(){
return;
}
public int EchoParam(int intval) {
return intval;
}
public void SendParam(int intval) {
return;
}
public int GetParam() {
return 10;
}
public int EchoRefParam(ref int intval) {
intval++;
return 100;
}
public void SendRefParam(ref int intval) {
intval++;
return;
}
public void OutParam(out int intval) {
intval=100;
}
public testStruct echoStruct(testStruct ts) {
return ts;
}
public testObject echoObject(testObject to) {
Console.WriteLine("Method Called");
return to;
}
public int[] echoArray(int[] intArray) {
return intArray;
}
}
}
Dosyayı ServerExe.cs kaydedin.
Yeni bir metin dosyas? olu?turmak için Not Defteri'ni kullanın. Dosyayı aşağıdaki kodu yapıştırın:
Visual Studio .NET 2002 için Başlat ' ı tıklatın, Programlar ' ın üzerine gelin, Visual Studio.NET ' i işaretleyin, Visual Studio .NET araçları ' nın üzerine gelin ve Visual Studio .NET komut istemi ' ni tıklatın.
Visual Studio .NET 2003 için Başlat ' ı tıklatın, Programlar ' ın üzerine gelin, Visual Studio .NET 2003 ' e işaret, Visual Studio .NET araçları ' nın üzerine gelin ve Visual Studio .NET 2003 komut istemi ' ni tıklatın.
Komut isteminde, C: yazın ve ENTER tuşuna basın.
Build.bat yazın ve ENTER tuşuna basın.
Uzak sunucu uygulaması ve uzak istemci uygulamasını çalıştırın.
Bu makalenin "Belirtiler" bölümünde açıklanan hata iletisini alabilirsiniz.
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Bu makaleyi kullanmak için ne kadar kişisel çaba harcadınız?
Çok az
Az
Orta
Fazla
Çok fazla
Bu bilgiyi geliştirmemiz için nedenleri ve bu konuda neler yapabileceğimizi paylaşın
Teşekkürler! Görüşleriniz, destek içeriğimizi geliştirmemize yardımcı olmak için kullanılmaktadır. Diğer yardım seçenekleri için, lütfen Yardım ve Destek Giriş Sayfasını ziyaret edin.