το πεδίο κεφαλίδας αιτήματος access-control-allow-headers δεν επιτρέπεται από το access-control-allow-headers
<p>προσπαθώ να στείλω αρχεία στο διακομιστή μου με ένα αίτημα μετά, αλλά όταν το στέλνει προκαλεί το σφάλμα:</p><pre class="lang-none prettyprint-override"><code>request header field content-type is not allowed by access-control-allow-headers. </code></pre><p>γι 'αυτό πήρα το λάθος και πρόσθεσα τις κεφαλίδες:</p><pre><code>$http.post($rootscope.url, {params: arguments}, {headers: { "access-control-allow-origin" : "*", "access-control-allow-methods" : "get,post,put,delete,options", "access-control-allow-headers": "content-type, access-control-allow-headers, authorization, x-requested-with" } </code></pre><p>τότε έχω το λάθος:</p><pre class="lang-none prettyprint-override"><code>request header field access-control-allow-origin is not allowed by access-control-allow-headers </code></pre><p>γι 'αυτό πήγα και αυτό και το μόνο παρόμοιο ερώτημα που θα μπορούσα να βρω έδωσε μια μισή απάντηση έπειτα έκλεισε ως εκτός θέματος. ποιες επικεφαλίδες πρέπει να προσθέσω/αφαιρέσω;</p>
<p>το <strong>server</strong> (που αποστέλλεται το αίτημα post) πρέπει να περιλαμβάνει την κεφαλίδα <code>access-control-allow-headers</code> (κλπ) <strong>στην απάντησή του</strong>. η τοποθέτησή τους στο αίτημά σας από τον πελάτη δεν έχει καμία επίδραση.</p><p>αυτό οφείλεται στο γεγονός ότι εναπόκειται στον διακομιστή να καθορίσει ότι δέχεται αιτήσεις διασταυρούμενης προέλευσης (και ότι επιτρέπει την κεφαλίδα <code>content-type</code> αίτησης και ούτω καθεξής) - ο πελάτης δεν μπορεί να αποφασίσει για τον εαυτό του ότι ένας δεδομένος διακομιστής πρέπει να επιτρέπει την cors.</p>
Από προεπιλογή, το πλαίσιο δεδομένων έχει MergeOption που να AppendOnly. Αυτό σημαίνει ότι η εκ νέου αιτήσεις θα προσθέσει μόνο νέες οντότητες και δεν θα ενημερώσει ήδη υπάρχουσες. Δοκιμάστε να ρυθμίσετε MergeOption να OverwriteChanges:



```
this.context.MergeOption = MergeOption.OverwriteChanges;

```

Αυτό λειτούργησε για μένα όταν είδα αυτό! Εάν χρησιμοποιείτε πραγματικά δεδομένα χρονικό διάστημα, τότε μπορεί να θέλετε να απενεργοποιήσετε την παρακολούθηση αλλαγών απόλυτα με την επιλογή NoTracking. Μετά από κάποια έρευνα, έχω βρεθεί επιτέλους μια λύση στο πρόβλημα.


Έχω αντικαταστήσει τις κλήσεις προς Context.RewritePath () μέθοδος με το νέο (εισήχθη το ASP.NET 3.5) **Context.Server.TransferRequest ()** μέθοδο.


Είναι προφανές πλέον, όχι όμως περίπτωση Ανώτερος Dev Μηχανικός στο IIS πυρήνα της ομάδας σκέψη ότι.


Έχω δοκιμάσει για συνεδρία, ταυτότητας, postback, querystring, ... θέματα και βρήκε κανένα.


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


Θα είμαι πίσω με την ενημέρωση.


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


**Η τελευταία ενημέρωση:** Έχω αυτή τη λύση στην παραγωγή για πάνω από ένα χρόνο και έχει αποδειχθεί ότι είναι μια καλή και σταθερή λύση χωρίς προβλήματα. Προσθέτοντας την `--decorate`επιλογή θα εμφανιστούν οι αναφορές που δείχνουν προς κάθε commit. Έτσι, για παράδειγμα, θα δείτε **HEAD** και **προέλευσης / HEAD** (ή οτιδήποτε άλλο) στις σωστές θέσεις.


Μπορούν ακόμη και να είναι σε αρκετά χρώματα, αν έχετε αυτό ενεργοποιηθεί.


PS. ευχαριστώ για να με κάνει να ελέγξετε αυτό - είναι πραγματικά πολύ ωραία, ειδικά με τον τρόπο που δείχνει επίσης διάφορες κρύπτες μου. Το πρόβλημα προκλήθηκε λόγω των ειδικών χαρακτήρων. Δεν είχα φανταστεί ότι «$» θα ήταν μια τέτοια μεγάλη υπόθεση σε κωδικούς πρόσβασης. Τέλος πάντων μπορείτε να βρείτε μια λύση για αυτό [εδώ](https://nadvi.blogspot.com/2011/02/oracle-password-with-or-special.html) . Τι θα έκανα για την συγκεκριμένη περίπτωση είναι:


Εγώ. Ορίστε το σώμα ως μια πλευρά τον έλεγχο του server



```
<body runat="server" id="masterpageBody">

```

ii. Στη σελίδα aspx το περιεχόμενό σας, καταχωρήστε το MasterPage με το μητρώο:



```
<% MasterPageFile="..." %>

```

iii. Στο περιεχόμενο της σελίδας, μπορείτε τώρα απλά να χρησιμοποιήσετε



```
Master.FindControl("masterpageBody")

```

και να έχουν πρόσβαση στον έλεγχο. Τώρα, μπορείτε να αλλάξετε οποιεσδήποτε ιδιότητες / στυλ που σας αρέσει! Πρώτον: Ναι, αυτό είναι κάτι που ανήκει στην Αίτηση για την ακριβή reson που καθορίζονται: Τι θα συμβεί μετά τα νέα προφίλ του χρήστη που δημιουργήθηκε; Σίγουρα, αν χρησιμοποιείτε έναν τομέα είναι δυνατόν να έχουμε κάποια πράγματα να θέσει στο μητρώο για δημιουργία, αλλά αυτό δεν είναι πραγματικά μια περίπτωση χρήσης. Η αίτηση θα πρέπει να ελέγξετε αν υπάρχουν seetings και να χρησιμοποιήσετε τις προεπιλεγμένες ρυθμίσεις, εάν όχι.


Τούτου λεχθέντος, είναι δυνατόν να αλλάξετε άλλες Κλειδιά χρήστες μέσω του HKEY\_USERS Κυψέλη.


Δεν έχω καμία εμπειρία με το Πρόγραμμα εγκατάστασης του Visual Studio 2003, τόσο εδώ είναι ένα κομμάτι της (καμία σχέση) κώδικα VBScript που απλά μπορεί να σας δώσει μια ιδέα για το πού να κοιτάξετε:



```
const HKEY_USERS = &H80000003
strComputer = "."
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = ""
objReg.EnumKey HKEY_USERS, strKeyPath, arrSubKeys
strKeyPath = "\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing"
For Each subkey In arrSubKeys
    objReg.SetDWORDValue HKEY_USERS, subkey & strKeyPath, "State", 146944
Next

```

(Κωδικός Ευγενική προσφορά του [Jeroen Ritmeijer](http://jritmeijer.spaces.live.com/blog/cns!8A48A27460FB898A!965.entry) ) Ελέγξτε την [RadAjax](http://www.telerik.com/products/aspnet-ajax/controls/ajax/overview.aspx) ελέγχου από Telerik - σας επιτρέπει να αποφύγετε τη χρήση Updatepanels, και περιορίζουν την ποσότητα των πληροφοριών περάσει εμπρός και πίσω μεταξύ server και client δηλώνοντας άμεσες σχέσεις μεταξύ καλώντας τους ελέγχους και τους ελέγχους που θα πρέπει να είναι «Ajaxified» όταν τα ζητούν οι έλεγχοι υποβάλουν postbacks. Θα ήθελα να μείνω μακριά από αυτό. Είναι ένα πολύ κακό παράδειγμα. Δεν καταλαβαίνω γιατί η Microsoft έθεσε στο διαδίκτυο. Πρώτα απ 'όλα για τους λόγους ασφαλείας, αλλά ο κώδικας είναι πολύ δύσκολο να διαβάσει για τους νέους σχεδιαστές. Χρησιμοποιώ asp.net MVC από την προεπισκόπηση 2, αλλά είναι ακόμα πολύ δύσκολο να διαβάσει αυτόν τον κωδικό, γιατί είναι κακό. Πολλές καλύτερα παραδείγματα που βρέθηκαν ή που χρησιμοποιούνται εδώ στοίβα υπερχείλιση. Προσωπικά προτείνω να παρακολουθείτε τα screencasts στην ιστοσελίδα Rob Connery ή για [Autumnofagile](http://www.autumnofagile.net)


[Karl Seguin πήρε το χρόνο για να συνοψίσουμε](http://codebetter.com/blogs/karlseguin/archive/2008/12/15/oxite-oh-dear-lord-why.aspx)


[Rob Κόνερι εργάζεται για τη Microsoft και δεν του αρέσει, είτε](http://blog.wekeroad.com/blog/some-thoughts-on-oxite/)


[Μια νέα λέξη είναι το όνομά του, αφού: Oxitis](http://frickinsweet.com/ryanlanciaux.com/post/Do-you-have-this-condition.aspx) Το ίδιο πρόβλημα εδώ ..   

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


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


για να απαλλαγούμε από τη λειτουργία άχρηστο σχεδιασμό. Ενημέρωση (Λύθηκε): Προσθήκη <% @ CODEPAGE = 65001%> κατά την έναρξη της σελίδας διορθωθεί το πρόβλημα ( <http://technet.microsoft.com/en-us/library/bb742422.aspx> )


Πολλές ευχαριστίες για όλες τις προτάσεις.