Месечни архиви: Февруари 2008

Недела Смешни: “НЕ ЗА ИЗВОЗ”

Назад околу 1998, the company I worked for at the time received some funding to create a new e-commerce product. We had the full gamut of business requirements to meet. It had to be fast, лесен за крајните корисници, светкавите, мулти-јазик, итн. Sad to say, Јас веројатно не сте имале како амбициозен сет на работа за да се постигне од оние опоен дена.

This effort pre-dated Microsoft.NET. Plain vanilla ASP was still somewhat new (или барем многу непознати за мојата компанија). "Brick and mortar" companies were doomed. Осудени на пропаст! This is to say that it was pioneering work. Не Hadron Collider пионерска работа, но за нас во нашата мала светот, тоа беше пионерска работа.

We were crazy busy. We were doing mini POC’s almost every day, да пронајдат начин да се задржи држава во инхерентно без државјанство медиум, пронајдат мулти-јазик прашања, row-level security. We even had create a vocabulary to define basic terms (Сакам државна упорни но поради некоја причина, the awkward "statefull" го освои ден).

Како што бевме лудо измислување овој производ, the marketing and sales people were out there trying to sell it. Somehow, they managed to sell it to our nightmare scenario. Even though we were designing and implementing an enterprise solution, we really didn’t expect the first customer to use every last feature we built into the product day zero. This customer needed multi-language, a radically different user interface from the "standard" system but with the same business logic. Multi-language was especially hard in this case, затоа што ние секогаш се фокусирани на шпански или француски јазик, но во овој случај, тоа беше кинески (што е двојно-бајт карактер сет и бара посебна ракување со оглед на технологијата што се користи).

Fast forward a few months and I’m on a Northwest airlines flight to Beijing. I’ve been so busy preparing for this trip that I have almost no idea what it’s like to go there. I had read a book once about how an American had been in China for several years and had learned the language. One day he was walking the city and asked some people for directions. The conversation went something this:

  • Американски: "Could you tell me how to get to [ХХ] улица?"
  • Кинески: "Sorry, we don’t speak English".
  • Американски: "Oh, и јас го зборувам мандарински." и тој ги праша повторно во кинески, но повеќе од јасно (најдобро што може).
  • Кинески: Многу учтиво, "Sorry, we don’t speak English".

The conversation went on like that for bit and the American gave up in frustration. As he was leaving them he overheard one man speaking to the other, "I could have sworn he was asking for directions to [ХХ] улица."

I had picked up a few bits and pieces of other China-related quasi-information and "helpful advice":

  • A Korean co-worked told me that the I needed to be careful of the Chinese because "they would try to get me drunk and take advantage of you" во смисла на притисок врз мене во лоши деловни одлуки.
  • Ние не им беше дозволено да возат автомобили (имаше некои конфузија за тоа дали ова беше обичај, законска обврска или само правилото на клиентот).
  • Имало посебни правила за одење низ царината.
  • Ние не им беше дозволено да ги користат американските пари за ништо.
  • You’re not supposed to leave tips. It’s insulting if you do.

И конечно, Имав релативно свежи сеќавањата на Тјенанмен масакрот. When I was at college, I remember seeing real-time Usenet postings as the world looked on in horror.

На кратко, I was very nervous. I wasn’t just normal-nervous in the sense that I was delivering a solution that was orders of magnitude more complicated than anything I had ever done before. I was also worried about accidentally breaking a rule that could get me in trouble.

Јас сум на овој 14 час лет и иако тоа беше бизнис класа, 14 часа е проклета долго време. Има само толку многу начини да се забавува со читање, watching movies or playing with the magnetized cutlery. Even a really good book is hard to read for several hours straight.

На крајот, Почнав да го прочитате материјал за пакување на парче софтвер што беше на рака носат со мене на клиентот, Netscape’s web server. I’m reading the hardware/software requirements, маркетинг blurbs, гледање на убава слика и одеднаш, I zero in on the giant "NOT FOR EXPORT" предупредување, нешто во врска со 128 bit encryption. I stuffed the box back into my carry bag, предупредување со лицето надолу (како тоа ќе им помогнеше) и се обидуваше да визии за Midnight Express out of my head.

Гледајќи назад на неа сега, Требаше да бидам загрижен, ако воопшто, кога го напуштив САД, not when I was entering China 🙂 Nothing untoward happened and I still consider that to be the best and most memorable business trip I’ve had the pleasure of making.

</крајот>

Да се ​​претплатите на мојот блог!

Technorati Тагови: ,

Решение: SPQuery не папки со пребарување

This past week I was implementing an "evolving" solution for a client that uses BDC and SPQuery and ran into some difficulty using SPQuery against a document library containing folders. Крајна линија: assign "recursive" на погледот атрибут на барањето.

Моето сценарио:

  • Во понеделник, Јас испратите документот и снабдување со некои мета податоци.
  • На следната недела, I upload a new document. Much of this new document’s meta data is based on the document I uploaded on Monday (which we call the "master document").
  • Ние направивме веб сервис фасада која обезбедува ЦРБ-friendly интерфејс на листата, така што корисниците можат лесно да се лоцира кој документ понеделник преку насловот пребарување.
  • A BDC data column provides a friendly user interface. (Ова е дел од мојот обид за користење на ЦРБ за повеќе пријателски Пронајди колона).

Конечниот ЦРБ фасада сервис користи за пребарување како ова да го стори пребарување:

 // Користи U2U алатка за да им помогне во генерирање на оваа CAML пребарување.
      oQuery.Query =
        "<Каде>";

      ако (titleFilter.Length > 0)
        oQuery.Query   =
          "  <И>";

      oQuery.Query   =
        "    <И>" +
        "      <Geq>" +
        "        <FieldRef Name=\"DocumentId\" />" +
        "        <Value Type=\"Text\">" + MinID + "</Вредност>" +
        "      </Geq>" +
        "      <Leq>" +
        "        <FieldRef Name=\"DocumentId\" />" +
        "        <Value Type=\"Text\">" + maxId + "</Вредност>" +
        "      </Leq>" +
        "    </И>";

      ако (titleFilter.Length > 0)
        oQuery.Query   =
          "    <Содржи>" +
          "      <FieldRef Name=\"Title\" />" +
          "      <Value Type=\"Text\">" + titleFilter + "</Вредност>" +
          "    </Содржи>" +
          "  </И>";
      oQuery.Query   =
        "</Каде>";

Во текот на почетната фаза на развој, this worked great. Сепак, воведовме папки во директориумот за решавање на некои проблеми и одеднаш, my BDC picker wouldn’t return any results. I tracked this down to the fact that the SPQuery would never return any results. We used folders primarily to allow multiple files with the same name to be uploaded but with different meta data. When the file is uploaded, ние се создаде папка врз основа на проект на елемент во листата и потоа се пресели на датотека таму (Напишав за тоа тука; имавме мешани резултати со овој пристап, но во целина, тоа е работа добро). The user don’t care about folders and in fact, don’t really understand that there are any folders. We have configured all the views on the library to show items without regard to folders.

I hit this problem twice as the technical implementation evolved and solved it differently each time. The first time, I wasn’t using the CONTAINS operator in the query. Without a CONTAINS operator, I was able to solve the problem by specifying the view on the SPQuery’s contructor. Instead of using the default constructor:

SPList oList = web.Lists["Documents"];

SPQuery oQuery = нови SPQuery();

Јас наместо да се користи конструктор дека одреден поглед:

SPList oList = web.Lists["Documents"];

SPQuery oQuery = нови SPQuery(oList.Views["All Documents"]);

Дека се реши проблемот и јас почнав да се добие моите резултати.

I then added the CONTAINS operator into the mix and it broke again. It turns out that the CONTAINS operator, толку колку што можам да кажам, не работи со поглед на ист начин како и поедноставно GEQ / LEQ operators. I did some searching and learned that the query’s ViewAttributes should be set to "Recursive", како и во:

oQuery.ViewAttributes = "Scope=\"Recursive\"";

That solved the problem for CONTAINS. Всушност, ова исто така реши мојот оригинален пребарување проблемот и ако имав наведени на рекурзивен атрибут прв пат, Јас не би се кандидира во прашање повторно.

Фактот дека цел-базирани SPQuery работи за некои оператори (GEQ/LEQ) а други не (СОДРЖИ), заедно со фактот дека KPIs се чини, не да работат на сите со папка содржат документ библиотеки ме тера да верувам дека SPQuery има некои orthogonality прашања.

Посебна благодарност:

  • Добрата луѓе во U2U и нивната алатка за пребарување.
  • Мајкл Hoffer е одлично "учење преку правење" блог пост, коментари и одговори.

</крајот>

Да се ​​претплатите на мојот блог!

Мос KPI бубачка? Листа Индикатор врзани за документ библиотека со папки

Ажурирање 02/29/08: I solved this problem by creating a folder and then assigning a content type to the folder which has the meta data I need for the KPIs. Јас опишани дека во малку повеќе детали тука.

We have implemented a technical solution where users upload documents to a document library. An event receiver creates a directory and moves the file to that directory (користење на техника слична на она што сум го напишала за тука). We’ve successfully navigated around the potential issues caused by event receivers that rename uploaded files (mainly because users never start their document by clicking on "New" но наместо тоа, се создаде документи на локално ниво и потоа да ги испратите).

The meta data for these documents includes a Yes/No site column called "Urgent" and another site column called "Status". We need to meet a business requirement that shows the percentage of "Urgent" documents whose status is "Pending".

Ова е обично едноставно да се направи и јас опишани нешто многу слично како оваа на Бигл SharePoint со многу снимки на екранот, ако сте заинтересирани.

Во мало, Го направив следниве:

  • Create a view on the doc library called "Pending".
  • Конфигурирате цел да се игнорираат структурата на папката.
  • Креирај Листа KPI.
  • Create an indicator in the list that points to the doc lib and that "Pending" видите.

This simply does not work. The KPI shows my target (e.g. пет помали итни документи) but always shows the actual number of urgent documents as zero. Paradoxically, ако разбивка на детали, it shows the five urgent documents in the list. I created a very simple scenario with two documents, one in a folder and one not. Here is the screen shot:

сликата

The above screen shot clearly shows there are two documents in the view but the "value" is one. The "CamlSchema" with blank document Id is in the root folder and the other is in a folder named "84".

Се чини да ми дека иако ќе се определи во поглед, the KPI doesn’t honor the "show all items without folders" поставување и наместо, се ограничува до коренот папка.

Ако грешам, Ве молиме ме капка линија или оставете коментар.

</крајот>

Да се ​​претплатите на мојот блог!

Technorati Тагови:

СПД работното “Соберат податоци од корисник”: Менувате Генерирано Задача Форма

I’m working on a project that uses five different SharePoint Designer work flows to handle some document approvals. SPD provides the "collect data from a user" акција, така што можеме да го извести корисникот за различни битови на информации, како на пример дали тие го одобруваат, некои коментари, а можеби и побара она што тие имале за вечера пред некоја вечер.

The forms are perfectly functional. They are tied to a task list as a content type. Тие се 100% system-generated. This is their strength and weakness. If we can live with the default form, then we’re good to go. Сепак, we don’t have too much control over how SPD creates the form. If we don’t like that default behavior, ние треба да прибегнуваат кон разни трикови за да се добие околу тоа (на пример, поставување приоритет на задача).

Требаше да се обезбеди врска на овие задача форми кои го отвори поглед својства (dispform.asxp) of the "related item" in a new window. This provides one-click access to the meta data of the related item. This is what I mean:

сликата

За среќа, we can do that and it’s not very hard. Broadly speaking, оган СПД, navigate to the directory that houses the workflow files and open the ASPX file you want to modify. These are just classic XSL transform instructions and if you’ve mucked about with itemstyle.xsl, пребарување или други XSL сценарија, this will be easy for you. Всушност, Го најдов тоа да биде општо полесно бидејќи генерирани форма е малку полесно да се следи во споредба со пребарувањето основни резултати веб дел (или кошмарните CWQP).

Се разбира, there is one major pitfall. SPD’s workflow editor expects full control over that file. If you modify it, SPD will happily overwrite your changes give the right set of circumstances. I did two quick tests to see how bad this could get. They both presuppose that you’ve crafted a valid SPD workflow that uses the "collect data from a user" чекор.

Тест 1:

  • Менувате ASPX датотека со рака.
  • Тоа тест (потврди дека Вашите промени се зачувани правилно и не се скрши нешто).
  • Отвори работа и додадете неповрзани акција (such as "log to history").
  • Спаси работното.

Резултира: Во овој случај, СПД не ре-креира форма.

Тест 2:

  • Го стори истото како #1 except directly modify the "collect data from a user" акција.

Резултира: Овој процес на ре-создава форма од нула, над-пишување вашите промени.

Конечна Забелешки:

  • Најмалку две СПД акции се создаде форми како оваа: "Collect Data From a User" and "Assign To Do Item". Both of these actions’ форми може рачно да се менува.
  • Јас бев во можност да генерира мојата линк до dispform.aspx бидејќи, во овој случај, the relate item always has its ID embedded in the related item’s URL. I was able to extract it and then build an <a href> based on it to provide the one-click meta data access feature. It’s unlikely that your URL follows this rule. There may be other ways to get the ID of the related item but I have not had to cross that bridge, па јас не знам дали добива на другата страна на бездна.
  • Јас не ги истражувала, но јас не би бил изненаден ако има некој вид на дефиниција датотека во 12 кошница што можев да ја менувате за да влијаат на начинот на СПД генерира стандардно форми (многу како можеме да менувате алармирање шаблони).

</крајот>

Да се ​​претплатите на мојот блог!

Technorati Тагови: ,

Дали “Непозната грешка” Пораки навистина ќе биде подобро од една стекот?

Јас го читав блог пост Madhur за тоа како да овозможи стекот дисплеи и сега се прашувам: зошто не можеме секогаш да се прикажуваат на стекот?

Кои дојдоа со тоа правило и зошто ние да го следат?

End users will know something is wrong in either case. At least with a stack trace, тие можат да притиснете контрола-printscreen, copy/paste into an email and send it to IT. That would clearly reduce the time and effort required to solve the issue.

</крајот>

Technorati Тагови:

Недела (Засрамувачки) Смешни: “Моето име е Пол Галвин”

Еден куп години, my boss asked me to train some users on a product called Results. Results is an end user reporting tool. It’s roughly analogous to SQL Server Reporting Service or Crystal. Во времето, тоа беше дизајниран да работи на зелен цевки (e.g. Wyse 50 терминал) connected to a Unix box via telnet.

Мојата стандардна одговор на секое прашање, која започнува со "може да ви … " е "Да" и тоа е каде што сите проблеми почна.

На клиентот беше хемиска компанија во јужниот дел на Калифорнија и само што заврши за еден од главните ERP имплементација врз основа на QAD на MFG/PRO. The implementation plan now called for training power end users on the Results product.

I wasn’t a big user of this tool and had certainly never trained anyone before. Сепак, Јас ја воделе голем број на други обука класи и беше брзо на моите нозе, so I was not too worried. Dennis, реалниот со полно работно време Резултати инструктор, had given me his training material. Гледајќи назад на неа сега, it’s really quite absurd. I didn’t know the product well, had never been formally trained on it and had certainly never taught it. What business did I have training anyone on it?

Да ги комплицира работите логистички, I was asked to go and meet someone in Chicago as part of a pre-sales engagement along the way. The plan was to fly out of New Jersey, одат во Чикаго, meet for an hour with prospect and then continue on to California.

И, I got to Chicago and the sales guy on my team had made some mistake and never confirmed the meeting. Така, I showed up and the prospect wasn’t there. Awesome. I pack up and leave and continue on to CA. Somewhere during this process, Сметам дека на клиентот е учење помалку од 24 часа пред моето доаѓање дека "Павле Галвин" го поучува класа, not Dennis. The client loves Dennis. They want to know "who is this Paul Galvin person?" "Why should we trust him?" "Why should we pay for him?" Dennis obviously didn’t subscribe to my "даде лоши вести почетокот" philosophy. Awesome.

Јас пристигнат на аеродромот и за некои неверојатно глупав причина, I had checked my luggage. I made it to LAX but my luggage did not. За мене, губење на багаж е многу како минува низ седум фази на жалост. Eventually I make it to the hotel, без багаж, уморен, гладни и носи моето (до сега, многу изгужвано) business suit. It takes a long time to travel from Newark — да О'Хара — на клиентот — назад кон О'Хара — и конечно да LAX.

Јас конечно се најде себеси седи во хотелска соба, џвакаат на бар Сникерс, exhausted and trying to drum up the energy to scan through the training material again so that I won’t look like a complete ass in front of the class. This was a bit of a low point for me at the time.

Се разбудив следниот ден, did my best to smooth out my suit so that I didn’t look like Willy Loman on a bad day and headed on over to the client. As is so often the case, во личноста која таа беше убаво, polite and very pleasant. This stood in stark contrast to her extremely angry emails/voicemails from the previous day. She leads me about 3 miles through building after building to a sectioned off area in a giant chemical warehouse where we will conduct the class for the next three days. На 15 или 20 Учениците потоа ги соберат, most them still expecting Dennis.

Јас секогаш започнете мојата обука часови од страна на воведување на себе, giving some background and writing my contact information on the white board. As I’m saying, "Добро утро, моето име е Пол Галвин ", Јас пишувам моето име, email and phone number up on the white board in big letters so that everyone can see it clearly. I address the fact that I’m replacing Dennis and I assure them that I am a suitable replacement, итн. I have everyone briefly tell me their name and what they want to achieve out of the class so that I can tailor things to their specific requirements as I go along. The usual stuff.

We wrap that up and fire up the projector. I go to erase my contact info and … I had written it in permanent marker. I was so embarrassed. In my mind’s eye, тоа изгледа вака: Постои и ова "Пол Галвин" лице, last minute replacement for our beloved Dennis. He’s wearing a crumpled up business suit and unshaven. He has just written his name huge letters on our white board in постојан маркер. What a sight!

Сето тоа заврши среќно, сепак. This was a chemical company, по сите. A grizzled veteran employee pulled something off the shelf and, веројатно во кршење на ЕПА прописи, cleared the board. I managed to stay 1/2 day ahead of the class throughout the course and they gave me a good review in the end. This cemented my "pinch hitter" reputation at my company. My luggage arrived the first day, па јас бев многу повеќе згреши два дена и три.

Како што беше преземање на црвени очи дома, I was contemplating "lessons learned". There was plenty to contemplate. Communication is key. Tell clients about changes in plan. Don’t ever check your luggage at the airport if you can possibly avoid it. Bring spare "stuff" in case you do check your luggage and it doens’t make it. I think the most important lesson I learned, сепак, беше ова: секогаш тест маркер во долниот лев агол на бела табла пред пишувањето, во огромни букви, "Пол Галвин".

</крајот>

Technorati Тагови: ,

Outlook: SharePoint VS. на Large Hadron Collider

Due to some oddball United Airlines flights I took in the mid 90’s, Јас некако заврши со понуда да се трансформира "неискористени милји" into about a dozen free magazine subscriptions. That is how I ended up subscribing to Scientific American magazine.

Како софтвер / консалтинг луѓе, we encounter many difficult business requirements in our career. Most the time, сакаме исполнувањето на овие барања и во фактот, it’s probably why we think this career is the best in the world. I occasionally wonder just what in the world would I have done with myself if I had been born at any other time in history. How terrible would it be to miss out on the kinds of work I get to do now, во ова време и место во светската историја? Мислам дека: прилично страшно.

Со текот на годините, some of the requirements I’ve faced have been extremely challenging to meet. Complex SharePoint stuff, градење на веб обработка рамки врз основа на не-WEB-пријателски технологија, complex BizTalk orchestrations and the like. We can all (се надевам дека) се погледне гордо повторно на нашата кариера и да каже, "Да, тоа беше тешко да се да се реши, но на крајот јас pwned дека sumbitch!" Уште подобро, дури и повеќе интересни и забавни предизвици го чекаат.

Јас лично мислам дека мојата биографија, во овој поглед, е прилично длабока и прилично сум горд на тоа (иако знам дека жена ми никогаш нема да разбере 1/20th од неа). But this week, Читав една статија за Large Hadron Collider во мојата Scientific American Magazine и беше еден од оние ретки моменти кога humbling сфатив дека и покрај мојата "гигант" статусот во одредени кругови или колку длабоко Мислам дека и искуство, there are real giants in completely different worlds.

The people on the LHC team have some really thorny issues to manage. Consider the Moon. I don’t really think much about the Moon (иако сум бил многу сомнителни во врска со тоа, бидејќи јас научив тоа е забавување на ротација на Земјата, која не може да биде добра работа за нас луѓето на долг рок). Но, the LHC team does have to worry. LHC’s measuring devices are so sensitive that they are affected by the Moon’s (Земјата-ротација-забавување-и-на крајот-убиството-сите-живот) gravity. That’s a heck of a requirement to meet — производство на точни мерења и покрај мешање на Месечината.

Бев размислуваат тоа прашање кога читам оваа реченица: "На првото ниво ќе добијат и анализираат податоци од само подмножество на сите детектор компоненти, from which it can pick out promising events based on isolated factors such as whether an energetic muon was spotted flying out at a large angle from the beam axis." Really … ? I don’t play in that kind of sandbox and never will.

Следниот пат кога сум со некои пријатели, Одам да се подигне Здравица за добрите луѓе кои работат на LHC, hope they don’t successfully weigh the Higgs boson particle and curse the Moon. I suggest you do the same. It will be quite the toast 🙂

</крајот>

Technorati Тагови:

Злото Мајкрософт рачно

Јас да направите пребарување на Google:

сликата

Јас кликнете на линкот нагласени погоре ("Детали за преземањето: Windows SharePoint…").

Јас се добие оваа:

сликата

Note the URL.

Looks pretty suspicious to me. I don’t know if I should laugh, кискане или јавете се на свештеник.

</крајот>

Technorati Тагови:

Брзи Импресија: Систем центар Капацитет излет за SharePoint

Јас само запали на капацитет за планирање инструмент, кој е сите бес овие денови.

Го најдов тоа лесен за употреба и брзо моделирани на клиентска околина Јас работев на оваа минатото лето.

Со некои нервоза, Ги притиснав на конечниот копчето OK и се препорачува нешто што е доста сличен на она што го даде нашиот клиент (ние всушност го фрли во втор апликација на серверот за иднината на ексел употреба). I take that to be a good sign and increases my confidence in the tool.

Изгледа прилично моќно многу подобра стартна точка од празна страница.

I like that lets you get into some good detail about the environment. How many users, како можете проект тие ќе го користат системот (објавување на, соработка, итн), експозитура и поврзување / network capacity between them and the mama server. Good stuff.

Таа го прашува широко заснована прашања, а потоа ви овозможува да го подеси детали за доста грануларна модел на вашето опкружување.

Јас се двоумеше да ја преземете бидејќи имам толку многу други работи кои треба да се погледне во него, read and try to digest. I’m glad I did.

It’s an easy two-step process. Download system center capacity planner and then download the SharePoint models. It runs nicely on Windows XP.

Врз основа на моето брзо впечаток, Јас не гледам како тоа може да сметка за:

  • Пребарување: Вкупно документи, можеби видови на документи, јазици.
  • Ексел сервер: колку, ако воопшто?
  • Форми сервер: колку, ако воопшто?
  • ЦРБ: колку, ако воопшто.

Оние може да се моделираат и јас само не ги гледам во 10 минута преглед.

Јас дефинитивно ќе го користат во мојата следна клиент.

Ако јас не беа консултант и наместо да работат за реална компанија :), I’d model my current environment and see how the tool’s recommended model matches up against reality. That would be pretty neat. It could lead to some good infrastructure discussion.

</крајот>

Решение: System.IO.FileNotFoundException на “SPSite = new SPSite(рачно)”

Ажурирање: Јас ја има пратено оваа прашање да MSDN тука (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) and Michael Washam of Microsoft responded with a concise answer.

Јас создаде веб сервис за да дејствува како ЦРБ-пријателски фасада to a SharePoint list. When I used this from my development environment, тоа добро работеа. Кога јас мигрирале оваа на нов сервер, Јас се сретнал оваа грешка:

System.IO.FileNotFoundException: Web апликацијата на http://localhost/sandbox не може да се најде. Се потврди дека сте ја внеле URL-то правилно. Ако рачно треба да се служат постоечките содржини, администраторот на системот може да се стави за да додадете ново барање рачно мапирање до наменети апликација. во Microsoft.SharePoint.SPSite .. ctor(SPFarm фарма, Ури requestUri, Булова contextSite, SPUserToken userToken) во Microsoft.SharePoint.SPSite .. ctor(Стринг requestUrl) во Conchango.xyzzy.GetExistingDocument(Стринг minId, Стринг maxId, Стринг titleFilter) во C:\Documents and Settings Пол My Documents Visual Studio 2005 Проекти xyzzy BDC_DocReview BDC_DocReview DocReviewFacade.asmx.cs:линија 69

Тука е линија 69:

користење на (SPSite сајт = new SPSite("http://localhost/sandbox"))

Се обидов различни варијации на URL-то, вклучувајќи и користење на вистинското име на серверот, неговата IP адреса, заостанува засеци на URL-то, итн. I always got that error.

Јас се користат На Google to research it. Lots of people face this issue, или варијации на тема, но никој не се чинеше дека го имаат решено.

Стегнат Мос под услов таквите детален грешка дека тоа не се случи да ми да се провери 12 hive logs. На крајот, за 24 часа по мојот колега препорачува правам така, Ги проверив надвор од 12 кошница најавите и најдов ова:

По исклучок попречува при обидот да се здобијат со локалната фарма:
System.Security.SecurityException: Бара регистар пристап не е дозволено.
во System.ThrowHelper.ThrowSecurityException(ExceptionResource ресурси) во
(Стринг име, Булова можат да се запишуваат) во
(Стринг име) во
() во
() во
(SPFarm& фарма, Булова& isJoined)
Зоната на собранието што не успеа беше:  MyComputer

Ова им отвори нови можности за истражување, па тоа се врати на Google. Тоа ме доведе до ова форум: HTTP://forums.codecharge.com / posts.php?post_id = 67.135. That didn’t really help me but it did start making me think there was a database and/or security issue. I soldiered on and Ендрју Connell на post finally triggered the thought that I should make sure that the application pool’s identity account had appropriate access to the database. I thought it already did. Сепак, мојот колега отиде и го даде на стан базен идентитет сметка целосен пристап до SQL.

Штом таа го направи таа промена, everything started working.

Што се случи следно е најдобро изразен како хаику песна:

Проблеми ги креваат рацете.
You swing and miss. Try again.
Успех! But how? Зошто?

Таа не сака да ги остави работите сами како што, претпочитајќи да даде потребниот минимум дозвола (и веројатно со окото на пишување блог запис; Ја победи на удар, muhahahahaha!).

Таа отстранета последователни дозволи од стан базен идентитет сметка до … there was no longer any explicit permission for the app pool identity account at all. The web service continued to work just fine.

We went and rebooted the servers. Everything continued to work fine.

Така, да повториме: we gave the app pool identity full access and then took it away. The web service started working and never stopped working. Bizarre.

Ако некој знае зошто тоа треба да работат, Ве молиме оставете коментар.

</крајот>

Technorati Тагови: