Free instructor-led training event. Explore the fundamentals of data analysis, machine learning, and data processing, then learn how to harness the full power of BigQuery.
When: October 27 – October 29, 2020
Free instructor-led training event. Explore the fundamentals of data analysis, machine learning, and data processing, then learn how to harness the full power of BigQuery.
When: October 27 – October 29, 2020
Microsoft’s AI, machine learning and data science expertise to students through easy-to-consume modules including demos, hands-on workshop and assignments.
These online classes will be delivered through multiple simulive sessions, at no cost.
When : October 19-October 24, 2020
Assessment & Certification
Background : Today I was trying to deploy a SharePoint solution on SharePoint 2016 using Visual Studio 2017 and got below error:
Error occurred in deployment step 'Recycle IIS Application Pool': Provider load failure
Cause: In my case IIS 6 WMI Compatibility components are missing/not installed on the server. My server version is Windows Server 2016 Standard.
Solution:
Problem/Error:
I have a SharePoint 2016 On-premises farm. I got bellow error while I am deploying a SharePoint 2016 solution with Visual Studio 2017
Error occurred in deployment step ‘Recycle IIS Application Pool’: Remote SharePoint site connections are not supported
Solution:
Problem: Few days ago I have alias my office account/email address and after that I can not login to Azure Devops/VSTS from Visual Studio 2017 & 2019. When I was trying to login it is asking my credentials several times but after that I got below error message
“An attempt to communicate with Azure DevOps failed because a token could not be retrieved. Please re-enter your credentials.”
Solution: I just deleted the .IdentityService folder from %LOCALAPPDATA%
https://stackoverflow.com/questions/20524060/how-to-explain-katana-and-owin-in-simple-words-and-uses
Open Web Interface for .NET (OWIN) defines an abstraction between .NET web servers and web applications. By decoupling the web server from the application, OWIN makes it easier to create middleware for .NET web development. Also, OWIN makes it easier to port web applications to other hosts—for example, self-hosting in a Windows service or other process.
OWIN is a community-owned specification, not an implementation. The Katana project is a set of open-source OWIN components developed by Microsoft. For a general overview of both OWIN and Katana, see An Overview of Project Katana. In this article, I will jump right into code to get started.
OWIN is not a framework. OWIN is a specification on how web servers and web applications should be built in order to decouple one from another and allow movement of ASP.NET applications to environments where at the current state it is not possible.
Prior to OWIN, when you are building ASP.NET application, you are inheritedly bound to IIS due to the heavy dependency on System.Web assembly.
System.Web is something that exist ever since ASP (non .NET version) and internally contains many things that you might not even need (such as Web Forms or URL Authorization), which by the default run on every request, thus consuming the resources and making ASP.NET applications in general lot slower than it’s counterparts at i.e. Node.js.
So OWIN itself does not have any tools, libraries or anything else. It is just a specification.
Katana on the other hand, is fully developed framework made to make a bridge between current ASP.NET frameworks and OWIN specification. At the moment, Katana has successfully adapted the following ASP.NET frameworks to OWIN:
ASP.NET MVC and Web Forms are still running exclusively via System.Web, and in the long run there is a plan to decouple those as well.
On the other hand, IIS is good, resourceful host for web servers. Entire ASP.NET performance issue with using IIS has deep roots in System.Web only. Up until the recent time, when deciding how will you host your web server, you had two options:
So if you wanted a performance, you’d go for self-host option. If you wanted a lot of out-of-the-box features that IIS provides, you’d go for IIS but you’d lose on performance.
Now, there is a 3rd option, a Microsoft library named Helios (current codename) which intends to remove System.Web out of the way, and allow you to use IIS on more “cleaner” way, without any unnecessary libraries or modules. Helios is now in pre-release version, and is waiting for more community feedback in order to make it fully supported Microsoft product.
Hope this explanation clarifies things better for you.
https://stackoverflow.com/questions/1568834/whats-the-difference-between-rest-restful
Representational state transfer (REST) is a style of software architecture. As described in a dissertation by Roy Fielding, REST is an “architectural style” that basically exploits the existing technology and protocols of the Web.
RESTful is typically used to refer to web services implementing such an architecture.
“REST” is an architectural paradigm. “RESTful” describes using that paradigm.
To differentiate or compare these 2, you should know what is REST.
REST (REpresentational State Transfer) is basically an architectural style of development having some principles…
REST based services
follow some of the above principles and not all
RESTFUL services
means it follows all the above principles.
It is similar to the concept of:
Object-based languages
supports all the OOPs concepts, examples: C++, C#
Object oriented languages
supports some of the OOPs features, examples: JavaScript, VB
Example:
ASP Dot NET MVC 4 is REST-Based
while Microsoft WEB API is RESTFul
.
MVC supports only some of the above REST principles whereas WEB API supports all the above REST Principles.
MVC only supports the following from the REST API
However, at the same time in MVC
That is why MVC is REST-Based
whereas WEB API supports all the above principles and is RESTFul
.
https://medium.com/@programmerasi/difference-between-api-and-web-service-73c873573c9d
API and Web service serve as a means of communication. The only difference is that a Web service facilitates interaction between two machines over a network. An API acts as an interface between two different applications so that they can communicate with each other. An API is a method by which the third-party vendors can write programs that interface easily with other programs. A Web service is designed to have an interface that is depicted in a machine-processable format usually specified in Web Service Description Language (WSDL). Typically, “HTTP” is the most commonly used protocol for communication. Web service also uses SOAP, REST, and XML-RPC as a means of communication. API may use any means of communication to initiate interaction between applications. For example, the system calls are invoked using interrupts by the Linux kernel API.
An API exactly defines the methods for one software program to interact with the other. When this action involves sending data over a network, Web services come into the picture. An API generally involves calling functions from within a software program.
In case of Web applications, the API used is web based. Desktop applications such as spreadsheets and word documents use VBA and COM-based APIs which don’t involve Web service. A server application such as Joomla may use a PHP-based API present within the server which doesn’t require Web service.
A Web service is merely an API wrapped in HTTP. An API doesn’t always need to be web based. An API consists of a complete set of rules and specifications for a software program to follow in order to facilitate interaction. A Web service might not contain a complete set of specifications and sometimes might not be able to perform all the tasks that may be possible from a complete API.
The APIs can be exposed in a number of ways which include: COM objects, DLL and .H files in C/C++ programming language, JAR files or RMI in Java, XML over HTTP, JSON over HTTP, etc. The method used by Web service to expose the API is strictly through a network.
Summary:
1. All Web services are APIs but all APIs are not Web services.
2. Web services might not perform all the operations that an API would perform.
3. A Web service uses only three styles of use: SOAP, REST and XML-RPC for
communication whereas API may use any style for communication.
4. A Web service always needs a network for its operation whereas an API doesn’t need
a network for its operation.
5. An API facilitates interfacing directly with an application whereas a Web service is a
Some Links:
https://www.tutorialspoint.com/design_pattern/design_pattern_overview.htm
https://www.dofactory.com/net/design-patterns
Design patterns represent the best practices used by experienced object-oriented software developers. Design patterns are solutions to general problems that software developers faced during software development. These solutions were obtained by trial and error by numerous software developers over quite a substantial period of time.
In 1994, four authors Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides published a book titled Design Patterns – Elements of Reusable Object-Oriented Software which initiated the concept of Design Pattern in Software development.
These authors are collectively known as Gang of Four (GOF). According to these authors design patterns are primarily based on the following principles of object orientated design.
Design Patterns have two main usages in software development.
Design patterns provide a standard terminology and are specific to particular scenario. For example, a singleton design pattern signifies use of single object so all developers familiar with single design pattern will make use of single object and they can tell each other that program is following a singleton pattern.
Design patterns have been evolved over a long period of time and they provide best solutions to certain problems faced during software development. Learning these patterns helps unexperienced developers to learn software design in an easy and faster way.
As per the design pattern reference book Design Patterns – Elements of Reusable Object-Oriented Software , there are 23 design patterns which can be classified in three categories: Creational, Structural and Behavioral patterns.
S.N. | Pattern & Description |
---|---|
1 | Creational Patterns These design patterns provide a way to create objects while hiding the creation logic, rather than instantiating objects directly using new operator. This gives program more flexibility in deciding which objects need to be created for a given use case. |
2 | Structural Patterns These design patterns concern class and object composition. Concept of inheritance is used to compose interfaces and define ways to compose objects to obtain new functionalities. |
3 | Behavioral Patterns These design patterns are specifically concerned with communication between objects. |
Scenario: Lets say, right now I am logging the SharePoint site with SP1 user’s credential but I need to test the site for SP2 user’s also. So for this I have to first Sign Out from SP1’s account then again Sign In with SP2 user’s credential. But we can do it easily by enabling “Sign in as Different User” option in the browser.
To enable “Sign in as Different User” paste below code to Welcome.ascx page at “C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\CONTROLTEMPLATES” (here C:\ is my root directory for SharePoint)
<SharePoint:MenuItemTemplate runat="server" id="ID_LoginAsDifferentUser" Text="<%$Resources:wss,personalactions_loginasdifferentuser%>" Description="<%$Resources:wss,personalactions_loginasdifferentuserdescription%>" MenuGroupId="100" UseShortId="true" Sequence="100" />