arquivos mensuais: Febreiro 2008

Domingo divertido: “NON PARA Exportación”

De volta ao redor 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, doado para os usuarios finais, chamativo, multi-lingua, etc. Sad to say, Eu probablemente non tiven como un ambicioso conxunto de traballo a realizar desde os días de gloria.

This effort pre-dated Microsoft.NET. Plain vanilla ASP was still somewhat new (ou polo menos moi estraño para a miña empresa). "Brick and mortar" companies were doomed. Condenado! This is to say that it was pioneering work. Non Hadron Collider traballo pioneiro, pero para nós, no noso pequeno mundo, foi pioneiro traballo.

We were crazy busy. We were doing mini POC’s almost every day, descubrir como manter o estado nun medio inherentemente apátridas, descubrir problemas multi-lingua, row-level security. We even had create a vocabulary to define basic terms (Eu prefería estado persistente, pero por algún motivo, the awkward "statefull" gañou o día).

Como estabamos locamente inventar este produto, 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, porque sempre enfocada en español ou francés, pero neste caso, foi Chinés (que é un conxunto de caracteres de dous bytes e necesario tratamento especial dado a tecnoloxía que usan).

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:

  • Americano: "Could you tell me how to get to [XX] rúa?"
  • Chinés: "Sorry, we don’t speak English".
  • Americano: "Oh, ben eu falar mandarín." e preguntoulle lles de novo en chinés, , Pero de forma máis clara (o mellor que podía).
  • Chinés: Moi educadamente, "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 [XX] rúa."

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" no sentido de me presionar en decisións empresariais malas.
  • Non foron autorizados a conducir coches (houbo algunha confusión sobre se este era un costume, unha esixencia legal ou simplemente norma do cliente).
  • Había regras especiais para pasar pola alfándega.
  • Non foron autorizados a usar o diñeiro estadounidense para nada.
  • You’re not supposed to leave tips. It’s insulting if you do.

E, finalmente, Eu tiña lembranzas relativamente frescas do Masacre de Tiananmen. When I was at college, I remember seeing real-time Usenet postings as the world looked on in horror.

En resumo, 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.

Estou neste 14 voo de unha hora e que fose de clase empresarial, 14 horas é moito tempo maldito. Hai só tantas formas de entreter-se pola lectura, watching movies or playing with the magnetized cutlery. Even a really good book is hard to read for several hours straight.

Eventualmente, Comecei a ler o material de embalaxe en unha peza de software que eu estaba a man cargando comigo ao cliente, Netscape’s web server. I’m reading the hardware/software requirements, as sinopses de marketing, mirando ao retrato bonito e de súpeto, I zero in on the giant "NOT FOR EXPORT" aviso, algo sobre 128 bit encryption. I stuffed the box back into my carry bag, alertando a cara abaixo (como se iso axudaría) e intentou manter visións de Midnight Express out of my head.

Mirando cara atrás agora, Eu debería ter se preocupar, a todos, cando deixei EEUU, non cando entraba en China 🙂 Non pasou nada desagradable e aínda considero que é a mellor e máis memorable viaxe de negocios que tiven o pracer de facer.

</final>

Rexístrate para o meu blog!

Technorati Tags: ,

Solución: SPQuery non busca Folders

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. Bottom line: assign "recursive" ao atributo de vista da consulta.

O meu escenario:

  • O luns, Eu enviar un documento e ofrecer algúns datos de meta.
  • A semana seguinte,, 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").
  • Creamos unha fachada de servizo web que ofrece unha interface BDC-friendly para a lista para que os usuarios poidan facilmente atopar ese documento luns a través dunha investigación de título.
  • A BDC data column provides a friendly user interface. (Iso forma parte da miña tentativa de usar BDC para unha columna de investigación máis agradable).

A final BDC servizo fachada utiliza unha consulta como esta a facer o lookup:

 // Usado U2U ferramenta para auxiliar na xeración de esta consulta CAML.
      oQuery.Query =
        "<Onde>";

      se (titleFilter.Length > 0)
        oQuery.Query  =
          "  <E>";

      oQuery.Query  =
        "    <E>" +
        "      <Geq>" +
        "        <FieldRef Name=\"DocumentId\" />" +
        "        <Value Type=\"Text\">" + MiniD + "</Valor>" +
        "      </Geq>" +
        "      <Leq>" +
        "        <FieldRef Name=\"DocumentId\" />" +
        "        <Value Type=\"Text\">" + maxId + "</Valor>" +
        "      </Leq>" +
        "    </E>";

      se (titleFilter.Length > 0)
        oQuery.Query  =
          "    <Contén>" +
          "      <FieldRef Name=\"Title\" />" +
          "      <Value Type=\"Text\">" + titleFilter + "</Valor>" +
          "    </Contén>" +
          "  </E>";
      oQuery.Query  =
        "</Onde>";

Durante a fase inicial de desenvolvemento, this worked great. Con todo, nós introducimos cartafoles no directorio para resolver algúns problemas e, de súpeto, 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, creamos un cartafol con base na identificación do elemento da lista e move o ficheiro alí (Eu escribín sobre iso aquí; tivemos resultados mixtos con esta visión, pero en xeral, el funciona ben). 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 = novo SPQuery();

Eu en vez utilizar un constructor que especificou unha vista:

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

SPQuery oQuery = novo SPQuery(oList.Views["All Documents"]);

Isto resolveu o problema e comece a poñer os meus resultados.

I then added the CONTAINS operator into the mix and it broke again. It turns out that the CONTAINS operator, tan lonxe como podo dicir, non funciona co punto de vista do mesmo xeito que a un simple geq / LEQ operators. I did some searching and learned that the query’s ViewAttributes should be set to "Recursive", como no:

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

That solved the problem for CONTAINS. En realidade, Isto tamén resolveu o meu problema de investigación orixinal e se eu tivese especificar o atributo recursivo por primeira vez, Eu non tería corrido para a cuestión de novo.

O feito de que un SPQuery visión baseada funciona para algúns operadores (GEQ/LEQ) e non outros (Contén), xunto co feito de que KPIs non parecen traballar en conxunto con bibliotecas de documentos cartafol contén me leva a pensar que SPQuery ten algúns problemas de ortogonalidade.

Agradecementos especiais:

  • O persoal da U2U ea súa ferramenta de consulta.
  • Michael Hoffer de gran "learning by doing" blog, comentarios e respostas.

</final>

Rexístrate para o meu blog!

Moss KPI erro? Indicador lista Amarre a biblioteca de documentos con pastas

Actualización 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. Eu describe que un pouco máis de detalles aquí.

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 (usando unha técnica similar ao que escribín sobre aquí). 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" mais en vez diso crear os documentos localmente e despois envialos).

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".

Xeralmente isto é simple e eu describe algo moi parecido a isto no Beagle SharePoint con moitas capturas de pantalla se vostede está interesado.

En poucas palabras, Eu fixen o seguinte:

  • Create a view on the doc library called "Pending".
  • Configure o punto de vista de ignorar estructura de cartafoles.
  • Crear unha lista de KPI.
  • Create an indicator in the list that points to the doc lib and that "Pending" ver.

This simply does not work. The KPI shows my target (e.g. cinco documentos urxentes) but always shows the actual number of urgent documents as zero. Paradoxically, afondar nos detalles, 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:

imaxe

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".

Paréceme que aínda que especifique unha visión, the KPI doesn’t honor the "show all items without folders" fixación e, no canto, Limítase a cartafol raíz.

Se eu está mal, por favor mande-me unha liña ou deixar un comentario.

</final>

Rexístrate para o meu blog!

Technorati Tags:

SPD de fluxo de traballo “Recoller datos de un usuario”: Modifique o Formulario de tarefas xerados

Eu estou a traballar nun proxecto que usa cinco fluxos de traballo do SharePoint Designer diferentes para xestionar algunhas aprobacións de documentos. SPD ofrece os "datos de queda a partir dun usuario" acción para que poidamos solicitar ao usuario para diferentes bits de información, como se aproba-lo, algúns comentarios e quizais preguntar o que tiña para a cea na outra noite.

As formas son perfectamente funcional. Eles están vinculados a unha lista de tarefas como un tipo de contido. Son 100% xerado polo sistema. Esta é a súa forza e debilidade. Se podemos vivir co formulario estándar, entón somos bos de ir. Con todo, non temos moito control sobre como SPD crea o formulario. Se non nos gusta que o comportamento estándar, necesitamos recorrer a varios trucos para contorná-la (por exemplo, establecer a prioridade dunha tarefa).

I necesario para proporcionar unha ligazón sobre eses formularios de tarefas que abriu as propiedades da vista (dispform.asxp) do "elemento relacionado" nunha nova ventá. Isto proporciona un acceso de un click para os datos de meta do elemento relacionado. Isto é o que quero dicir:

imaxe

Agradecidamente, podemos facer, e non é moi difícil. En termos xerais, lume ata SPD, desprácese ata o directorio que contén os ficheiros de fluxo de traballo e abra o arquivo aspx querer modificar. Estes son só clásico XSL transformar instrucións e se fixo muck aproximadamente con ItemStyle.xsl, investigación ou outros escenarios XSL, que vai ser doado para ti. En realidade, Eu pensei que fose máis doado, pois xeralmente o formulario xerado é algo máis doado de seguir, en comparación con un núcleo de investigación de resultados parte web (ou CWQP pesadelo).

Por suposto, hai unha gran trampa. Editor de fluxo de traballo do SPD espera que o control total sobre o ficheiro. Se modificalo lo, SPD vai alegremente substituirá os cambios dan dereito conxunto de circunstancias. Eu fixen dúas probas rápidos para ver como malo que pode estar. Ambos supoñen que teña creado un fluxo de traballo SPD válido que usa a "recoller datos dun usuario" paso.

Proba 1:

  • Editar o arquivo ASPX á man.
  • Probalo (comprobar se os cambios foron debidamente gardado e non romper nada).
  • Abre o fluxo de traballo e engadir unha acción non relacionada (tales como "rexistro para a historia").
  • Garda o fluxo de traballo.

Resultar: Neste caso, SPD non volver a crear a forma.

Proba 2:

  • Fai o mesmo que #1 excepto modificar directamente o "recoller datos dun usuario" acción.

Resultar: Esta re-crea o formulario a partir de cero, sobre-escribir os seus cambios.

Notas Finais:

  • Polo menos dúas accións SPD crear formas coma este: "Recoller datos dun usuario" e "Asignar To Do elemento". Ambas as accións’ formas pode ser modificado a man.
  • Eu era capaz de xerar o meu enlace para DispForm.aspx porque, neste caso, o elemento relacionar sempre ten o seu ID incorporado no URL do elemento relacionado. Eu era capaz de extraelo lo e, a continuación, construír unha <a href> con base nel para facilitar a funcionalidade de acceso de un click datos meta. É improbable que o seu URL segue esta regra. Pode haber outras formas de obter o ID do elemento relacionado, pero eu non tiven que cruzar esa ponte, entón eu non sei se chega ao outro lado do abismo.
  • Non investigar, pero eu non quedaría sorprendido se hai algún tipo de arquivo de modelo na 12 colmea que eu podería modificar para afectar a forma como SPD xera os formularios estándar (así como podemos modificar os modelos de alerta).

</final>

Rexístrate para o meu blog!

Son “Erro descoñecido” Mensaxes realmente mellor que un Stack Trace?

Eu estaba lendo post de Madhur sobre como permitir seguimento de pila exhibe e agora eu estou querendo saber: por que non mostrar sempre un seguimento de pila?

Quen xurdiu con esa regra e por que seguilo?

End users will know something is wrong in either case. At least with a stack trace, poden premer Control-PrintScreen, copiar / pegar en un correo-e e enviá-lo para TI. Isto reduciría claramente o tempo eo esforzo necesarios para resolver o problema.

</final>

Technorati Tags:

Domingo (Embaraçoso) Divertido: “O meu nome é Paul Galvin”

Un puñado de anos, 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. No momento, el foi designado para ser executado en tubos verdes (e.g. Wyse 50 terminal) connected to a Unix box via telnet.

My default answer to any question that starts with "Can you … " is "Yes" and that’s where all the trouble started.

The client was a chemical company out in southern California and had just about wrapped up a major ERP implementation based on QAD’s 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. Con todo, I had conducted a number of other training classes and was quick on my feet, so I was not too worried. Dennis, the real full-time Results instructor, had given me his training material. Mirando cara atrás agora, 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?

To complicate things logistically, 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, go to Chicago, meet for an hour with prospect and then continue on to California.

Ben, I got to Chicago and the sales guy on my team had made some mistake and never confirmed the meeting. Así, I showed up and the prospect wasn’t there. Awesome. I pack up and leave and continue on to CA. Somewhere during this process, I find out that the client is learning less than 24 hours before my arrival that "Paul Galvin" is teaching the class, 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 "dar unha mala noticia cedo" philosophy. Awesome.

I arrive at the airport and for some incredibly stupid reason, I had checked my luggage. I made it to LAX but my luggage did not. Para min, losing luggage is a lot like going through the seven stages of grief. Eventually I make it to the hotel, with no luggage, tired, hungry and wearing my (by now, very crumpled) business suit. It takes a long time to travel from Newark — to O’Hare — to a client — back to O’Hare — and finally to LAX.

I finally find myself sitting in the hotel room, munching on a snickers bar, 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.

I woke up the next day, 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, in person she was nice, 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. O 15 ou 20 students slowly assemble, most them still expecting Dennis.

I always start off my training classes by introducing myself, giving some background and writing my contact information on the white board. As I’m saying, "Good morning, my name is Paul Galvin", I write my name, 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, etc. 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, it looked like this: There is this "Paul Galvin" person, 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 permanent marker. What a sight!

It all ended happily, con todo. This was a chemical company, ao final. A grizzled veteran employee pulled something off the shelf and, probably in violation of EPA regulations, 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, so I was much more presentable days two and three.

As I was taking the red eye back home, 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, con todo, was this: always test a marker in the lower left-hand corner of a white board before writing, in huge letters, "Paul Galvin".

</final>

Technorati Tags: ,

Perspectivas: SharePoint vs. o Large Hadron Collider

Due to some oddball United Airlines flights I took in the mid 90’s, I somehow ended up with an offer to transform "unused miles" into about a dozen free magazine subscriptions. That is how I ended up subscribing to Scientific American magazine.

Como o software / consultoría persoas, we encounter many difficult business requirements in our career. Most the time, we love meeting those requirements and in fact, 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, at this time and place in world history? Eu creo que: pretty terrible.

Over the years, some of the requirements I’ve faced have been extremely challenging to meet. Complex SharePoint stuff, building web processing frameworks based on non-web-friendly technology, complex BizTalk orchestrations and the like. We can all (esperanza) mirar para atrás con orgullo na nosa carreira e dicir, "yeah, que foi difícil de resolver, pero ao final eu pwned que sumbitch!" Mellor aínda, retos aínda máis interesantes e divertidos agardar.

Eu persoalmente creo que o meu currículo, a este respecto, é moi profundo e estou moi orgulloso del (aínda que eu saiba que a miña muller non vai entender 1/20th del). But this week, Eu estaba lendo un artigo sobre o Large Hadron Collider in my Scientific American magazine and had one of those rare humbling moments where I realized that despite my "giant" estado en certos círculos ou quão profundo Creo que o meu pozo de experiencia, 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 (aínda que eu fose moi desconfiado sobre iso dende que eu aprendín está desacelerando a rotación da Terra, que non pode ser bo para nós seres humanos a longo prazo). Pero, the LHC team does have to worry. LHC’s measuring devices are so sensitive that they are affected by the Moon’s (Terra-rotación desaceleración e-eventualmente-morte-all-vida) gravity. That’s a heck of a requirement to meet — producir medidas correctas pesar da interferencia da Lúa.

Eu estaba reflexionando sobre esta cuestión cando lin esta frase: "The first level will receive and analyze data from only a subset of all the detector’s components, 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.

Next time I’m out with some friends, I’m going to raise a toast to the good people working on the 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 🙂

</final>

Technorati Tags:

Impresión rápida: System Center Capacity Planner para SharePoint

I just fired up the capacity planning tool that’s all the rage these days.

Eu penso doado de usar e rápido modelado nun ambiente de cliente que eu traballei neste verán pasado.

Con certa aprehensión, Eu apertei o botón Aceptar final, e recomendou algo que é moi semellante ao que demos o noso cliente (we actually threw in a second application server for future excel use). I take that to be a good sign and increases my confidence in the tool.

It seems pretty powerful stuff a much better starting point than a blank page.

I like that lets you get into some good detail about the environment. How many users, how you project they will use the system (publishing, collaboration, etc), branch office and connectivity / network capacity between them and the mama server. Good stuff.

It asks broad based questions and then lets you tweak the details for a pretty granular model of your environment.

I hesitated downloading it because I have so many other things to look at it, 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.

Based on my quick impression, I don’t see how it might account for:

  • Procurar: Total documents, maybe types of documents, languages.
  • Excel server: how much, a todos?
  • Forms server: how much, a todos?
  • BDC: how much, a todos.

Those may be modeled and I just didn’t see them in the 10 minute review.

I will definitely use it at my next client.

If I were not a consultant and instead working for a real company :), 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.

</final>

Solución: System.IO.FileNotFoundException en “SPSite = new SPSite(url)”

Actualización: Poño esta pregunta para MSDN aquí (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) and Michael Washam of Microsoft responded with a concise answer.

Eu creei un servizo web para actuar como un Fachada BDC-friendly to a SharePoint list. When I used this from my development environment, funcionou moi ben. Cando migrei este para un novo servidor, Eu atopei este erro:

System.IO.FileNotFoundException: A aplicación web en http://localhost/sandbox non puido ser atopada. Comprobe se inseriu a URL correctamente. Se a URL debe estar servindo contido existente, o administrador do sistema pode ter que engadir un novo mapeamento da URL da solicitude á aplicación desexada. en Microsoft.SharePoint.SPSite .. ctor(SPFarm Facenda, Uri requestUri, Booleana contextSite, SPUserToken userToken) en Microsoft.SharePoint.SPSite .. ctor(Cordas requestURL) en Conchango.xyzzy.GetExistingDocument(Cordas miniD, Cordas maxId, Secuencia de filtros título) en C:\Documents and Settings Galicia Os ​​meus documentos Visual Studio 2005 Projects xyzzy BDC_DocReview BDC_DocReview DocReviewFacade.asmx.cs:liña 69

Aquí é a liña 69:

utilización (Lugar SPSite = new SPSite("http://localhost/sandbox"))

Intento varias variacións sobre a URL, ata usar o nome real do servidor, o seu enderezo IP, barra ao final da URL, etc. I always got that error.

Eu soía Google to research it. Lots of people face this issue, ou variacións dela, pero ninguén parecía telo resolto.

Tricksy Moss solicitado un erro tan detallado que non se me ocorreu para comprobar o 12 hive logs. Eventualmente, sobre 24 horas despois meu compañeiro recomenda-me facelo, Eu comproba o 12 rexistro colmea e atopei este:

Unha excepción ocorreu durante o intento de adquirir a facenda local:
System.Security.SecurityException: Acceso ao rexistro solicitado non se admite.
en System.ThrowHelper.ThrowSecurityException(ExceptionResource recurso) en
(String nome, Booleana gravable) en
(String nome) en
() en
() en
(SPFarm& Facenda, Booleana& isJoined)
A Zona da assembly que non foi:  MyComputer

Isto abriu novos camiños de investigación, polo que estaba de volta a Google. Isto levoume a este foro post: http://forums.codecharge.com / posts.php?post_id = 67135. 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 Andrew Connell de 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. Con todo, meu compañeiro foi e deu o app conta de identidade do pool acceso total ao SQL.

Así que fixo ese cambio, everything started working.

O que pasou despois é mellor expresada como un haiku poema:

Problemas levantar as mans.
You swing and miss. Try again.
Éxito! But how? ¿Por que?

Ela non quería deixar as cousas só, como que, preferindo dar permiso mínima necesaria (e, probablemente, con un ollo para escribir un post no blog; Eu batía nela co zócalo, muhahahahaha!).

Ela eliminou os permisos sucesivas da súa conta de identidade do pool de aplicacións ata … 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.

Así, para recapitular: we gave the app pool identity full access and then took it away. The web service started working and never stopped working. Bizarre.

Se alguén sabe por que isto debería funcionar, por favor, deixe un comentario.

</final>

Technorati Tags: