Ada ide bagaimana cara memperbaikinya?
UserService.UserServiceClient userServiceClient = new UserServiceClient();
userServiceClient.GetUsersCompleted += new EventHandler<GetUsersCompletedEventArgs>(userServiceClient_GetUsersCompleted);
userServiceClient.GetUsersAsync(searchString);
.
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_UserService"
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:52185/UserService.svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_UserService"
contract="UserService.UserService"
name="BasicHttpBinding_UserService" />
</client>
<behaviors>
<serviceBehaviors>
<behavior name="Shell.Silverlight.Web.Service3Behavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<services>
<service behaviorConfiguration="Shell.Silverlight.Web.Service3Behavior"
name="Shell.Silverlight.Web.Service3">
<endpoint address=""
binding="basicHttpBinding"
contract="Shell.Silverlight.Web.Service3" />
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
Tidak dapat menemukan elemen titik akhir default yang mereferensikan kontrak 'UserService.UserService' di bagian konfigurasi klien ServiceModel. Ini mungkin karena tidak ada file konfigurasi yang ditemukan untuk aplikasi Anda, atau karena tidak ada elemen endpoint yang cocok dengan kontrak ini yang dapat ditemukan di elemen klien.
Terselesaikan!
Saya tidak menyebutkan bahwa ini adalah aplikasi Silverlight. Saya memiliki referensi wcf dalam DLL yang memiliki file "ServiceReferences.ClientConfig" itu sendiri. Saya memindahkan konten ServiceReferences.ClientConfig DLL ke proyek silverlight utama dan berhasil.
Jawaban:
Saya mengalami masalah yang sama. Aplikasi saya juga merupakan aplikasi Silverlight dan layanan dipanggil dari perpustakaan kelas dengan UserControl kustom yang digunakan di dalamnya.
Solusinya sederhana. Salin definisi titik akhir dari file konfigurasi (mis. ServiceReferences.ClientConfig) pustaka kelas ke file konfigurasi aplikasi silverlight. Saya tahu Anda mengharapkannya berhasil tanpa harus melakukan ini, tetapi tampaknya seseorang di Redmond sedang berlibur hari itu.
sumber
web.config
?Anda juga dapat menyetel nilai-nilai ini secara terprogram di perpustakaan kelas, ini akan menghindari perpindahan yang tidak perlu dari file konfigurasi di seluruh perpustakaan. Kode contoh untuk BasciHttpBinding sederhana adalah -
sumber
Untuk berjaga-jaga jika ada yang mengalami masalah yang sama saat menggunakan WPF (bukan WCF atau Silverlight):
Saya mengalami kesalahan ini, saat menyambung ke Layanan Web. Ketika kode saya berada di solusi Aplikasi WPF "utama", tidak masalah, itu bekerja dengan sempurna. Tetapi ketika saya memindahkan kode ke solusi lapisan-DAL yang lebih masuk akal, itu akan membuang pengecualian.
Seperti yang telah dinyatakan oleh "Sprite" di utas ini, Anda perlu menyalin tag secara manual.
Untuk aplikasi WPF, ini berarti menyalin tag dari app.config di solusi DAL saya ke app.config di solusi Aplikasi WPF utama.
sumber
Saya mengalami masalah yang sama, karena alasan apa pun Visual Studio tidak memperbarui konfigurasi web ketika saya pertama kali menambahkan layanan. Saya menemukan bahwa memperbarui Referensi Layanan juga memperbaiki masalah ini.
Langkah:
sumber
Ubah web.config layanan WCF sebagai "endpoint address =" "binding =" basicHttpBinding "..." (sebelumnya binding = "wsHttpBinding") Setelah membangun aplikasi, dalam konfigurasi "ServiceReferences.ClientConfig" ""> memiliki nilai . Maka itu akan bekerja dengan baik.
sumber
Ubah nama output.config yang dihasilkan oleh svcutil.exe menjadi app.config. itu berhasil untuk saya.
sumber
Apakah Anda memiliki Antarmuka yang diimplementasikan oleh kelas "UserService" Anda.
Titik akhir Anda harus menentukan antarmuka untuk atribut kontrak:
sumber
Tidak yakin apakah ini masalahnya. Endpoint dan binding keduanya memiliki nama yang sama
sumber
Tidak yakin apakah ini benar-benar masalah, tetapi saya melihat Anda memiliki nama yang sama untuk konfigurasi binding Anda ().
Saya biasanya mencoba untuk memanggil titik akhir saya sesuatu seperti "UserServiceBasicHttp" atau sesuatu yang serupa ("Binding" benar-benar tidak ada hubungannya di sini), dan saya mencoba memanggil konfigurasi binding saya sesuatu dengan ".... Konfigurasi", misalnya "UserServiceDefaultBinding", untuk menghindari kemungkinan bentrokan nama.
Marc
sumber
Harus menambahkan layanan di file App.config memanggil agar berfungsi. Pastikan bahwa Anda tetapi setelah semua. Ini sepertinya berhasil untuk saya.
sumber
Masalah ini terjadi ketika Anda menggunakan layanan Anda melalui aplikasi lain. Jika aplikasi memiliki file konfigurasi, tambahkan saja informasi konfigurasi layanan Anda ke file ini. Dalam situasi saya tidak ada file konfigurasi jadi saya menggunakan teknik ini dan itu bekerja dengan baik. Simpan saja alamat url dalam aplikasi, baca dan gunakan metode BasicHttpBinding () kirimkan ke aplikasi layanan sebagai parameter. Ini adalah demonstrasi sederhana bagaimana saya melakukannya Itu:
sumber
Bagi mereka yang bekerja dengan layanan AX 2012 AIF dan mencoba menelepon ke sana C # atau proyek VB di dalam AX (x ++) dan mengalami kesalahan seperti "tidak dapat menemukan titik akhir default" ... atau "tidak ada kontrak yang ditemukan" ... kembali ke proyek studio visual (c #) Anda dan tambahkan baris ini sebelum menentukan klien layanan Anda, lalu terapkan proyek dan mulai ulang klien AX dan coba lagi: Catatan, contohnya untuk adaptor NetTcp , Anda dapat dengan mudah menggunakan adaptor lain sesuai dengan kebutuhan Anda .
sumber
Jika Anda menggunakan aplikasi WPF menggunakan kerangka PRISM maka konfigurasi harus ada di proyek start up Anda (yaitu di proyek tempat bootstrapper Anda berada.)
Singkatnya, hapus saja dari perpustakaan kelas dan masukkan ke dalam proyek permulaan.
sumber