«WebServiceBindingAttribute απαιτείται για τις κατηγορίες μεσολάβησης»




Δουλεύω σε μια εφαρμογή που κάνει ασύγχρονη κλήσεις προς το WebService.


Πρόσθεσα μια τάξη μεσολάβησης για να κάνουν ασύγχρονης κλήσεις. Ο κώδικας συγκεντρώνει και λειτουργεί σωστά, όμως κάθε φορά που προσπαθώ να κάνετε διπλό κλικ την κατηγορία μεσολάβησης σε διάλυμα εξερευνητής (Visual Studio 2008) Είμαι παρουσιάζονται με μια σελίδα


Για να αποφύγετε πιθανή απώλεια δεδομένων πριν από τη φόρτωση του σχεδιαστή, τα ακόλουθα σφάλματα πρέπει να επιλυθούν: WebServiceBindingAttribute απαιτείται για τις κατηγορίες μεσολάβησης. 


κατηγορίας πληρεξουσίου μου έχει ήδη καθοριστεί με αυτόν τον τρόπο



```
namespace AsyncCaller
{
    [WebServiceBindingAttribute(Name = AsyncRequestSoap, Namespace = http://tempuri.org/)]
    public class AsyncCallerProxy : SoapHttpClientProtocol
    {
        public AsyncCallerProxy()
        {
            this.Url = http://localhost/MyAsyncService/AsyncService.asmx;
        }

```

Έτσι δεν μπορώ να δω την αιτία του σφάλματος.


Αυτό είναι ένα πολύ μικρό θέμα αφού μπορώ ακόμα να εκτελέσετε την εφαρμογή, αλλά είμαι περίεργος.
Το ίδιο πρόβλημα εδώ ..   

Απλά διακοσμήσετε τάξη μεσολάβησης σας με την ακόλουθη ιδιότητα


[System.ComponentModel.DesignerCategoryAttribute ( "κωδικός")]


για να απαλλαγούμε από τη λειτουργία άχρηστο σχεδιασμό.
<p>το .net 4.0 επιτρέπει στα πρωτεύοντα σύνολα interop (ή μάλλον, τα bits που χρειάζεστε) να ενσωματωθούν στη συνέλευση σας, ώστε να μην χρειάζεται να τα αναπτύξετε παράλληλα με την εφαρμογή σας.</p><p>για οποιονδήποτε λόγο, αυτή η συνέλευση δεν μπορεί να ενσωματωθεί - αλλά αυτό ακούγεται σαν να μην είναι πρόβλημα για εσάς. ανοίξτε την καρτέλα ιδιότητες για τη συνέλευση στο visual studio 2010 και ορίστε "ενσωμάτωση τύπων interop" σε "false".</p><p>edit: δείτε επίσης την <a href="https://stackoverflow.com/a/4553402/641833">απάντηση</a> του michael gustus, καταργώντας το επίθημα <code>class</code> από τους τύπους που χρησιμοποιείτε.</p> <p>είχα το ίδιο πρόβλημα χρησιμοποιώντας asp.net mvc και <a href="http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/">βρήκα τη λύση εδώ</a> </p><blockquote> <p>υπάρχει μεγάλη σύγχυση μεταξύ των νεοεισερχομένων στο <strong> angularjs </strong> για το γιατί οι <code>$http</code> λειτουργίες στενογραφίας της υπηρεσίας (<code>$http.post()</code>, κλπ.) δεν φαίνονται να είναι εναλλάξιμες με το <strong> ισοδύναμα jquery </strong> (<code>jquery.post()</code>, κ.λπ.)</p> <p>η διαφορά είναι στον τρόπο <strong> jquery </strong> και <strong> angularjs </strong> σειριοποίηση και μετάδοση των δεδομένων. βασικά, το πρόβλημα έγκειται στη γλώσσα του server σας που δεν είναι σε θέση να καταλάβει τη μετάδοση του angularjs με εγγενή ... από προεπιλογή, <strong> jquery </strong> μεταδίδει δεδομένα χρησιμοποιώντας</p> <pre><code>content-type: x-www-form-urlencoded </code></pre> <p>και την εξοικειωμένη σειριοποίηση <code>foo=bar&amp;baz=moe</code>.</p> <p><strong> το angularjs </strong>, ωστόσο, μεταδίδει δεδομένα χρησιμοποιώντας</p> <pre><code>content-type: application/json </code></pre> <p>και <code>{ "foo": "bar", "baz": "moe" }</code></p> <p>η σειριοποίηση json, η οποία, δυστυχώς, μερικές γλώσσες διακομιστή web - <em> και συγκεκριμένα η php </em> - δεν απομακρύνονται εγγενώς.</p> </blockquote><p>δουλεύει άψογα.</p><p><b>κωδικας</b></p><pre><code>// your app's root module... angular.module('mymodule', [], function($httpprovider) { // use x-www-form-urlencoded content-type $httpprovider.defaults.headers.post['content-type'] = 'application/x-www-form-urlencoded;charset=utf-8'; /** * the workhorse; converts an object to x-www-form-urlencoded serialization. * @param {object} obj * @return {string} */ var param = function(obj) { var query = '', name, value, fullsubname, subname, subvalue, innerobj, i; for(name in obj) { value = obj[name]; if(value instanceof array) { for(i=0; i&lt;value.length; ++i) { subvalue = value[i]; fullsubname = name + '[' + i + ']'; innerobj = {}; innerobj[fullsubname] = subvalue; query += param(innerobj) + '&amp;'; } } else if(value instanceof object) { for(subname in value) { subvalue = value[subname]; fullsubname = name + '[' + subname + ']'; innerobj = {}; innerobj[fullsubname] = subvalue; query += param(innerobj) + '&amp;'; } } else if(value !== undefined &amp;&amp; value !== null) query += encodeuricomponent(name) + '=' + encodeuricomponent(value) + '&amp;'; } return query.length ? query.substr(0, query.length - 1) : query; }; // override $http service's default transformrequest $httpprovider.defaults.transformrequest = [function(data) { return angular.isobject(data) &amp;&amp; string(data) !== '[object file]' ? param(data) : data; }]; }); </code></pre> Η προτιμώμενη μέθοδος είναι να χρησιμοποιήσετε πραγματικά την ιδιότητα υπό όρους για να τυλίξει τις κλήσεις εντοπισμού σφαλμάτων σας, μην χρησιμοποιήσετε τις οδηγίες μεταγλωττιστή. #ifs μπορεί να πάρει δύσκολες και μπορεί να οδηγήσει σε περίεργα προβλήματα κατασκευής.


Ένα παράδειγμα της χρήσης ενός υπό όρους χαρακτηριστικό είναι η εξής (σε C #, αλλά λειτουργεί σε VB.NET πολύ):



```
[ Conditional("Debug") ]
private void WriteDebug(string debugString)
{
  // do stuff
}

```

Κατά τη μεταγλώττιση, χωρίς το σετ σημαία DEBUG, κάθε κλήση προς WriteDebug θα καταργηθούν όπως υποτίθεται συνέβαινε με Debug.Write (). εγκατέστησα την τελευταία έκδοση του προγράμματος και εξακολουθούσα να έχω το ίδιο πρόβλημα. τελικά με τη βοήθεια απο το σχετικό [google group](https://groups.google.com/g/devede-forum/c/2thoie_dsxq) του devedeng, κατάλαβα οτι επιλέγω λάθος encoding type για το αρχείο υποτίτλων που θέλω να βάλω στην ταινία.

όταν επέλεξα το σωστό τύπο encoding για το αρχε… ωραία ! 
για άνοιξε το κέντρο λογισμικού και κάνει αναζήτηση για “hplip” και κάνε το εγκατάσταση. μετά δοκίμασε να δεις αν όταν το έχεις συνδεδεμένο θα σου καθυστερήσει. Θα χρησιμοποιηθεί για να πάρει αυτό - νομίζω ότι είναι ένα bug με το παράθυρο εντοπισμού σφαλμάτων «Autos»:


[http://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/eabc58b1-51b2-49ce-b710-15e2bf7e7516/](https://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/eabc58b1-51b2-49ce-b710-15e2bf7e7516/) μια λύση είναι να χρησιμοποιήσεις την web έκδοση. θέλει chrome που νομίζω υπάρχει ακόμα στα 32bit. to ότι έγινε σήμερα αναβάθμιση και παρουσιάστηκε το πρόβλημα δείχνει ότι μπορεί να σχετίζεται με το γεγονός αλλά μπορεί και να είναι και σύμπτωση. εγώ παρ’ όλ’ αυτά πιστεύω ότι έχει να κάνει με την σύνδεση σου, παρά το γεγονός ότι έχεις καλές ταχύτητες στον browser. θα δοκίμαζα ένα reset στο router … Αυτό είναι ένα τεχνικό πρόβλημα παρακαλώ να κάνετε μια αναφορά εδώ.



> 
> <https://support.duolingo.com/hc/el>
> 
> 
> είχα το ίδιο πρόβλημα με αρχεία zip που κατέβαζα παλιότερα από εκπαιδευτικές ιστοσελίδες. έχω linux mint με διαχειριστή αρχείων τον thunar. έκανα προσθήκη “προσαρμοσμένης ενέργειας” (επεξεργασία –> ρυθμίσεις προσαρμοσμένων ενεργειών –> προσθήκη νέας), ώστε με δεξί κλικ να αποσυμπιέζω με τη σωστή κωδ…