sexta-feira, 24 de agosto de 2012

Windows Phone - Visão Geral dos Sensores


Neste artigo vamos conhecer melhor os tipos de sensores no Windows Phone e como atuar programaticamente neles.

Segue link do meu artigo publicado no Windows Phone Brasil

[]s

CRM 2011 - Javascript + WCF

Olá Pessoal,

Talvez já tenham notado que executar um WCF via JavaScript não é tão fácil como parece ou como era a chamada de um tradicional Web Services .ASMX .
Isto porque por padrão, no WCF, este tipo de execução no Client vem desabilitado.
Desta forma, segue um tutorial para uma execução bem sucedida no seu JScript.

1 - Habilitar compatibilidade de execução ASP.NET na sua classe. Para tanto, adicione a diretiva, conforme exemplificado abaixo:


[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service1 : IService1


2 - Implementar as diretivas na sua INTERFACE de classe, conforme exemplo abaixo:

[ServiceContract]
public interface IService1
{
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Xml)]
string MyMethod(string p1, string p2);
}


3 - Implementar o seguinte WEB.CONFIG:
P.S.: Se você estiver executando uma URL segura (httpS) use a propriedade [httpsGetEnabled] senão [httpGetEnabled] na seção [serviceMetadata]
P.S.2: Não esqueça de trocar as frases [YOURNAMESPACE] e [YOURURL] pelas respectivas informações reais do seu projeto.


<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<identity impersonate="true" />
<customErrors mode="Off"/>

<httpModules>
<clear/>
</httpModules>

</system.web>

<system.serviceModel>

<standardEndpoints>
<webScriptEndpoint>
<standardEndpoint name="" crossDomainScriptAccessEnabled="true"/>
</webScriptEndpoint>
</standardEndpoints>

<services>
<service name="YOURNAMESPACE.Service1" behaviorConfiguration="ServiceBehaviors">
<endpoint name="Endpoint"
address="http://YOURURL/Service1.svc"
binding="webHttpBinding"
contract="YOURNAMESPACE.IService1"
behaviorConfiguration="WCFAjaxBehavior"
bindingConfiguration="webBinding" />
</service>
</services>

<behaviors>
<endpointBehaviors>
<behavior name="WCFAjaxBehavior">
<enableWebScript />
</behavior>
</endpointBehaviors>

<serviceBehaviors>
<behavior name="ServiceBehaviors">
<serviceDiscovery />
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="false" />

<bindings>
<webHttpBinding>
<binding name="webBinding">
<security mode="Transport"></security>
</binding>
</webHttpBinding>
</bindings>

</system.serviceModel>

<system.webServer> <modules runAllManagedModulesForAllRequests="true"/>

<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type, Accept" />
</customHeaders>
</httpProtocol>

</system.webServer>
</configuration>


4 - E como último passo, a execução do seu WCF via JScript:

var url = "http://YOURURL/Service1.svc/MyMethod";

var client = null;
if (window.XMLHttpRequest)
client = new XMLHttpRequest();
else if (window.ActiveXObject)
client = new ActiveXObject("Microsoft.XMLHTTP");

var data = '{';
data += '"p1":"' + "SOMEVALUE" + '"';
data += ',';
data += '"p2":"' + "SOMEVALUE" + '"';
data += '}';

client.open ('POST', url, false);
client.setRequestHeader('Content-Type', 'application/json; charset=utf-8');
client.send(data);
var resultValue = client.responseText;


That's It!

sexta-feira, 10 de agosto de 2012

Corretor Ortográfico no Browser

Segue uma dica interessante, que é possibilidade de correção ortográfica no seu Browser. Para isto, basta instalar um Add-On gratuito da empresa Speckie e pronto.

Veja a matéria na Fonte, onde este recurso é usado no Microsoft Dynamics CRM.

[]s