SPMETAL Exception – The Web application at YOUR WEBSITE could not be found

Estava construindo o mapeamento LINQ de um Site do Sharepoint (por meio do SPMETAL) quando me deparei com a exception: “The Web application at [web site url] could not be found. Verify that you have typed the URL correctly. If the URL should be serving existing content, the system administrator may need to add a new request URL mapping to the intend ed application.”

O comando que estava executando era o seguinte:

SPMetal /web:http://MyServer:2222/ /code:myCode.cs

Saiba mais

About these ads

Automatizando o processo de deploy no Microsoft Sharepoint por meio de features.

O Microsoft Sharepoint é uma excelente plataforma. Ele nos provê diferentes recursos que facilitam nosso trabalho e agregam valor ao modo ao modo como gerenciamos conteúdo. Muitas vezes temos de encarar customizações de seus recursos e este tipo de customização pode depender de recursos providos pelo Visual Studio. Para tanto, existem soluções de empacotamento que facilitam o deploy de nossas customizações.

Tais empacotamentos, chamados de “features”, reduzem a complexidade envolvida no processo de criação de customizações. As features são perfeitas para facilitar o processo de ativação e desativação de funcionalidades.

clip_image002

Saiba mais

Sharepoint – Assegurando o funcionamento de Ajax em Webparts

Muitas vezes ao construirmos webparts sentimos a necessidade de tornarmos seu funcionamento mais “amigável” e favorável a utilização do usuário, agregando recursos baseados em Ajax.

Na grande maioria das ocasiões costumo utilizar os recursos presentes no conjunto de componentes Ajax Extensions, tais como ScriptManager, UpdatePanel e Timer.

Alguns controles nativos do ASP.Net utilizam a função JavaScript _doPostBack() para garantir o commit de suas alterações, mas o WSS 3.0 e o ASP.Net Ajax acabam armazenando em cache certas ações da página. Esse tipo de execução acaba causando conflitos entre o Sharepoint e o ASP.Net Ajax, para resolver tais conflitos costumo utilizar o código abaixo para restaurar o comportamento padrão dos eventos do formulário dentro das páginas:

private void EnsureASPNetAjax()
{
if (this.Page.Form != null)
{
String fixupScript = @”
_spBodyOnLoadFunctionNames.push(“”_initFormActionAjax””);
function _initFormActionAjax()
{
if (_spEscapedFormAction == document.forms[0].action)
{
document.forms[0]._initialAction =
document.forms[0].action;
}
}
var RestoreToOriginalFormActionCore =
RestoreToOriginalFormAction;
RestoreToOriginalFormAction = function()
{
if (_spOriginalFormAction != null)
{
RestoreToOriginalFormActionCore();
document.forms[0]._initialAction =
document.forms[0].action;
}
}”;
ScriptManager.RegisterStartupScript(this,
typeof(SolicitacaoCaderno), “UpdatePanelFixup”,
fixupScript, true);
}
}

Mais detalhes no link http://msdn.microsoft.com/en-us/library/bb861877.aspx

Outro ponto interessante é o comportamento “preguiçoso” do controle UpdatePanel, que em determinados momentos funciona corretamente durante a transição do primeiro post e depois para de atualizar seu conteúdo por inteiro… Isto é, o UpdatePanel executa a primeira atualização e depois para de funcionar, para resolver esse problema costumo utilizar o bloco abaixo (que aliás, nunca me deixou na mão):

private void EnsureUpdatePanelFixups()
{
if (this.Page.Form != null)
{
string formOnSubmitAtt = this.Page.Form.Attributes["onsubmit"];
if (formOnSubmitAtt == “return _spFormOnSubmitWrapper();”)
{
this.Page.Form.Attributes["onsubmit"] = “_spFormOnSubmitWrapper();”;
}
}
ScriptManager.RegisterStartupScript(this, typeof(SolicitacaoCaderno),
“UpdatePanelFixup”,
“_spOriginalFormAction = document.forms[0].action; _spSuppressFormOnSubmitWrapper=true;”,
true);
}

Costumo fazer chamadas a estes eventos dentro do evento OnInit ou Load da Webpart

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 65 outros seguidores