2009-07-21 29 views
5

Web.config dosyasına bazı ad alanları ekledim, böylece tüm aspx sayfalarım her aspx sayfasına bir içe aktarma ifadesi eklemeden çeşitli sabitleri ve enumları referans gösterebilir. Bunu ekledikten sonra, asmx web hizmetini test etmeye çalışırken bir hatayla karşılaşıyoruz. Bu araştırma yaparken, DefaultWsdlHelpGenerator.asmx çalışma zamanı derleme sırasında adlandırılır öğrendimÇalışma zamanı derlemesi sırasında belirsiz Referans hatası

CS0104: 'Message' is an ambiguous reference between 'System.Web.Services.Description.Message' and 'InsTech.ForeSight.Message'

ve aşağıdaki imzası vardır orada bir yöntem vardır: wsdl oluşturma sırasında aşağıdaki hatayı olsun görünür:

void WriteSoapMessage(MessageBinding messageBinding, Message message, bool soap12) { 

Bu web hizmeti dosyası tam olarak mesaj eleme olmadığı için belirsiz başvuru neden oluyor bizim ad denilen mesaj tanımlanan bir nesne var.

Web.config dosyasındaki ad alanlarını kaldırmadan bunu nasıl çözebilirim? Sanal dizinimizde web servislerimizi başka bir klasörde bulundurduk, bu yüzden ad alanlarına net bir şekilde açıklayan ancak işe yaramayacak bir web.config eklemeyi denedim.

Herhangi bir yardım için teşekkür ederiz. Teşekkür Kevin

cevap

3

Kodunuzdaki ad takma adları kullanmaktadır ve aralarında farklılık için kullanabilirsiniz:

using ourOwn=our.own.namespace; 

Ve ourOwn.Message olarak Message sınıfına bakın. Bu çarpışmayı önleyecektir.

+1

Lütfen aşağıya bıraktığım yorumuma bakın. WriteSoapMessage'ın yazdığım bir işlev olmadığını açıklamalıydım, ancak .net çerçevesinin bir parçası. – Kevin

İlgili konular