Ανατροπής και τη χρήση των υπηρεσιών IIS για την ανάπτυξη ASP.NET




Είμαι ένα σύνολο αρχάριος να SVN και δεν μπόρεσαν να βρουν μια απάντηση για την ακόλουθη κατάσταση.


Έχω ένα ASP NET 2,0 web app που έχω την ανάπτυξη. Είμαι με τη χρήση τοπικών IIS μου ως διακομιστής ανάπτυξης ιστοσελίδων (δηλαδή όχι το Studio web server ανάπτυξης Visual). ανάπτυξη μου περιβάλλον είναι VS2005, Vista, IIS7, TortoiseSVN / AnkhSVN. VisualSVN είναι εγκατεστημένο στο διακομιστή.


Οι .sln αρχεία μου και βιβλιοθήκες τάξη, κλπ βρίσκεται στο ** C: \ Localsource \ Έργα \ ProjectName ** φάκελο, και .aspx αρχεία μου είναι μου ** C: \ inetpub \ wwwroot \ ProjectName ** φάκελο. 


Μπορώ να ρυθμίσετε το repository για το ** C: \ Localsource \ Έργα \ ProjectName ** πρόστιμο, αλλά δεν μπορώ να σκεφτώ έναν τρόπο για να το ρυθμίσετε για το φάκελο IIS, καθώς και στην ίδια αποθήκη. 


Ποιος είναι ο καλύτερος τρόπος για την αντιμετώπιση αυτής της εξέλιξης περιβάλλον στο SVN;


Πολλά ευχαριστώ,


Μυρμήγκι
Σε μια λύση στο Visual Studio μπορείτε να έχετε ένα έργο βιβλιοθήκη κατηγορίας που βρίσκεται συνήθως σε έναν κατάλογο κάτω από το αρχείο .sln.


Σε αυτή την περίπτωση έχει επίσης ένα έργο web μέσα στο διάλυμα, αλλά ΔΕΝ κάτω από το αρχείο .sln στη δομή του καταλόγου αρχείων. 


Θα πρέπει να συνδέονται με αυτό το έργο μέσω HTTP και όχι μέσω των τοπικών διαδρομή αρχείου.


IIS θα διαχειριστεί αυτό το [http: // localhost / webapp](http://localhost/webapp) και εξ ορισμού θα το τοποθετήσετε στο c: \ inetpub \ wwwroot \ webapp. Τα αρχεία στο φάκελο webapp δεν θα είναι σε repo που arent στην ιεραρχία της λύσης και τη βιβλιοθήκη κατηγορίας. Αυτό είναι το ερώτημα του πώς να το λύσουμε.


Η απάντησή μου είναι να προχωρήσουμε [http: // localhost / webapp](http://localhost/webapp) να επισημάνω σε ένα φάκελο που είναι κάτω από το αρχείο .sln και δίπλα στον κατάλογο της βιβλιοθήκης τάξης, τότε μπορούμε όλοι να πάνε στο repo.


Χωρίζει τη βιβλιοθήκη τάξη και την την εφαρμογή ιστού είναι καλύτερη πρακτική για να βοηθός κωδικό επαναχρησιμοποίηση και την αποσύνδεση της λογικής από την ιστοσελίδα.
Αυτό λειτουργεί στον υπολογιστή μου (TM) μετά την εγκατάσταση rdbgsetup\_x64.exe και να περάσει από τον οδηγό διαμόρφωσης:



```
sc stop msvsmon90
sc config msvsmon90 binPath= "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe /service msvsmon90"
sc start msvsmon90

``` <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> Θα πρέπει να δώσετε περισσότερες πληροφορίες σχετικά με το περιβάλλον ανάπτυξής σας για να πάρετε μια συγκεκριμένη απάντηση.


Για παράδειγμα, με ένα C # έργο στο Visual Studio, μπορείτε να κάνετε δεξί κλικ στα Project-> Ιδιότητες και, στη συνέχεια, να συμπληρώσετε το πεδίο «Εντολή επιχειρήματα γραμμή» στην καρτέλα «Debug». Εντάξει, έτσι κανείς δεν βοήθησε, θα γράψω τη λύση βρήκα τον εαυτό μου.


1. (Προαιρετικά) Εάν χρησιμοποιείτε το NVM, μπορείτε να εγκαταστήσετε τις τελευταίες node.js στην πρώτη θέση και να μεταβείτε σε αυτό, για να αποφύγετε πιθανά προβλήματα
2. Εγκαταστήστε το βήτα γωνιακή / CLI στην έκδοση 7, παγκόσμιο και τοπικό επίπεδο στο έργο
3. Σε package.json αντικαταστήστε όλες τις εμφανίσεις με την τρέχουσα έκδοση του γωνιακού σας (π.χ. 6.1.7) με ^ 7.0.0-beta.5
4. NPM εγκατάσταση
5. Εάν υπάρχουν προβλήματα διαγράψετε node\_modules και δοκιμάστε ξανά NPM εγκαταστήσετε


Αν θέλετε να είστε σίγουροι, ότι άλλα πακέτα σας είναι στην τελευταία έκδοση, μπορείτε να εγκαταστήσετε άδειο εφαρμογή γωνιακή 7 κάπου αλλού με β γωνιακή / cli και να ελέγξει τι άλλαξε στην package.json. Δυστυχώς γωνιακή ομάδα δεν παρέχει ένα εργαλείο για την εγκατάσταση επιθυμητό έκδοση του γωνιακού, αλλά βήτα cli εγκαθιστά γωνιακή 7 από προεπιλογή.


Όσο για Ivy renderer δεν είναι προεπιλογή σε γωνιακή 7 beta. Προσπάθησα να το ενεργοποιήσετε με το χέρι και δεν λειτούργησε. Φαίνεται ότι το έργο αυτό χρειάζεται πολύ περισσότερη δουλειά για να ολοκληρωθεί ακόμα και δεν υπάρχουν πολλές πληροφορίες στο διαδίκτυο πώς να το χρησιμοποιήσετε σωστά το προηγμένο σχέδιο (υπάρχουν μόνο μερικά πολύ απλά μαθήματα για κενές έργα).


Ivy κατάσταση renderer: <https://is-angular-ivy-ready.firebaseapp.com/#/status>
<https://github.com/angular/angular/blob/master/packages/core/src/render3/STATUS.md>


Ivy renderer φροντιστήριο: <https://blog.imaginea.com/ivy-a-look-at-the-new-render-engine-for-angular/> <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> **Για την «ορθογραφία λάθος» μέρος (Μήπως εννοείτε)**


* Θα μπορούσατε να κάνετε κάποια `LIKE`ερωτήματα στο db π.χ. `LIKE %j%e%a%n%s%`, αλλά αν θέλετε να το κάνετε καλά, θα πρέπει να χρησιμοποιήσετε μια βιβλιοθήκη αναζήτησης όπως αυτό:


	+ <https://github.com/TomLingham/Laravel-Searchy>
	+ <http://tnt.studio/blog/did-you-mean-functionality-with-laravel-scout>



> 
> Μπορείτε να δημοσιεύσετε το αρχείο ρυθμίσεων στον κατάλογο της εφαρμογής σας και να παρακάμψετε τις ρυθμίσεις, εκτελώντας php τεχνίτη πωλητή: δημοσιεύει για να αντιγράψετε τις ρυθμίσεις στο φάκελο config σας όπως searchy.php
> 
> 
> Μπορείτε να ορίσετε το προεπιλεγμένο πρόγραμμα οδήγησης που θα χρησιμοποιηθεί για τις αναζητήσεις στο αρχείο ρυθμίσεων. Οι επιλογές σας (στην παρούσα φάση) είναι: ασαφή, απλό και Levenshtein.
> 
> 
> Μπορείτε επίσης να παρακάμψετε αυτές τις μεθόδους, χρησιμοποιώντας την ακόλουθη σύνταξη κατά την εκτέλεση μιας αναζήτησης:
> 
> 
> 


Με τον καθορισμό [Levenshtein απόσταση](https://en.wikipedia.org/wiki/Levenshtein_distance) μπορείτε να finetune πόσο μακριά μια λέξη μπορεί να είναι.


* Αν χρειάζεστε καλύτερη απόδοση θα πρέπει να εξετάσει κάτι σαν `solr`ή `elasticsearch`για το έργο αυτό.


<https://wiki.apache.org/solr/SpellCheckComponent>
<https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-fuzzy-query.html>


**Για το τμήμα μετάφρασης**


Απλά θα πρέπει να έχει ένα λεξικό έτοιμο σε βάση δεδομένων ή εντοπισμό των αρχείων σας και εκτελέστε το χαμηλότερο σημείο εισόδου και αυτό. Αναμείνετε υψηλή φορές υπολογιστών τόσο για τη διόρθωση ορθογραφίας και της μετάφρασης στον κώδικά σας. δοκιμασε smplayer

sudo add-apt-repository ppa:rvm/smplayer

sudo apt-get update

sudo apt-get install smplayer smplayer-themes smplayer-skins Συχνά αυτό επιτυγχάνεται με τη χρήση [«Driven δεδομένων Συνδρομές»](https://msdn.microsoft.com/en-us/library/ms169673.aspx) , αλλά αυτή η λειτουργία είναι διαθέσιμη μόνο σε ορισμένες εκδόσεις του SQL: Enterprise και Business Intelligence, αλλά όχι στο πρότυπο.


Έτσι, υπάρχει μια σειρά από δημιουργικές λύσεις. Αλλά δεν μου αρέσει κάποια από αυτές, και απαιτούν ένα δίκαιο κομμάτι της εργασίας έξω από SSRS.


Οι λύσεις που έχω δει περιλαμβάνουν: Δημιουργία της εγγραφής και στη συνέχεια απενεργοποίηση ή επιτρέπουν την εργασία SQL που στέλνει τη συνδρομή (που προσδιορίζονται από GUID.)


Δημιουργήστε ένα .exe .NET περιτύλιγμα για να χειριστεί την αποστολή του email. Μπορεί να εκτελέσετε το ερώτημα πρώτα να δούμε πόσα επέστρεψε σειρές, και στη συνέχεια, αν χρειαστεί, να δημιουργήσει την έκθεση και να συμπεριληφθεί σε ένα email. Ενώ μόδας, η λέξη-κλειδί κόλπο αναθεώρηση ενημερώνει μόνο το αρχείο όταν έχει αλλάξει σε αυτή την αναθεώρηση - αν δεν αλλάξει το αρχείο, τότε θα συνεχίσει να αντικατοπτρίζει την παλιά αναθεώρηση.


Αν θέλετε το λογισμικό να αντανακλά πάντα το συνολικό αριθμό αναθεώρησης, τότε θα πρέπει να σκαλίζω το [σχετικό SVN καταχωρήσεις αρχείο](http://svnbook.red-bean.com/en/1.1/ch08s03.html) και αποσυμπιέστε το, το οποίο δεν είναι πάρα πολύ δύσκολο (αυτό είναι ένα αρχείο XML).


Wikipedia το κάνει αυτό στη [σελίδα τους εκδοχή](https://en.wikipedia.org/wiki/Special:Version) για να δείξει την αναθεώρηση του λογισμικού που τρέχει ζωντανά? [ο κώδικας είναι εδώ](https://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3/includes/specials/SpecialVersion.php) - αναζητήστε το **getSvnRevision ()** μέθοδο. ωραία ! 
για άνοιξε το κέντρο λογισμικού και κάνει αναζήτηση για “hplip” και κάνε το εγκατάσταση. μετά δοκίμασε να δεις αν όταν το έχεις συνδεδεμένο θα σου καθυστερήσει.