{"id":261020,"date":"2015-07-09T12:34:02","date_gmt":"2015-07-09T08:34:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=261020"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=261020","title":{"rendered":"\u042d\u043a\u0437\u0430\u043c\u0435\u043d 70-485 Advanced Windows Store App Development Using C#"},"content":{"rendered":"<p>     \t<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/373\/990\/ab0\/373990ab0f914fa6a7d68049b1ce83d9.jpg\"\/><br \/>  \u041f\u043e\u043a\u0430 \u0432\u0441\u0435 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u044b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u0435\u0434\u0432\u043a\u0443\u0448\u0430\u044e\u0442 \u0432\u044b\u0445\u043e\u0434 Windows 10 \u0438 \u0433\u043e\u0442\u043e\u0432\u044f\u0442\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0434 \u043d\u0435\u0435, \u044f, \u043f\u043e\u0441\u043b\u0435 \u0441\u0434\u0430\u0447\u0438 \u0442\u0435\u0441\u0442\u0430 70-485, \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u0443\u0433\u043b\u0443\u0431\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043f\u043e\u0434 Windows 8 \u0438 8.1. \u0411\u043b\u0430\u0433\u043e, \u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e 10 \u0438 \u043f\u043e\u0434 8.1 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0449\u0435\u0433\u043e. \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e \u0437\u0430\u0434\u0443\u043c\u043a\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c \u0441\u0434\u0430\u0442\u044c \u044d\u043a\u0437\u0430\u043c\u0435\u043d 70-485, \u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u0432 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0432\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f Windows Store. \u041e\u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 must know \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u044b, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 WinRT, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0434\u0430\u043d\u044b \u043a\u0430\u0432\u0435\u0440\u0437\u043d\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b.<br \/>  \u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u043e\u0431\u043e \u0432\u0441\u0435\u043c \u043f\u043e\u043d\u0435\u043c\u043d\u043e\u0433\u0443. \u0422\u0430\u043a \u043a\u0430\u043a \u0432\u0441\u0435 \u043e\u0445\u0432\u0430\u0442\u0438\u0442\u044c \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0441\u0432\u043e\u0435\u043e\u0431\u0440\u0430\u0437\u043d\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u043a\u0430.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u044d\u043a\u0437\u0430\u043c\u0435\u043d\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435: <a href=\"https:\/\/www.microsoft.com\/learning\/ru-ru\/exam-70-485.aspx\">\u042d\u043a\u0437\u0430\u043c\u0435\u043d 70-485 Advanced Windows Store App Development Using C#<\/a><br \/>  \u0421\u043e\u0432\u0435\u0442\u0443\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u043d\u044b\u043c \u0442\u0430\u043c \u0441\u043f\u0438\u0441\u043a\u043e\u043c \u0442\u0435\u043c, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0434\u0430\u043d\u044b \u0432\u043e\u043f\u0440\u043e\u0441\u044b. \u041a\u0430\u043a \u0438 \u043f\u0440\u0438 \u0432\u0441\u0435\u0445 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\u0445, \u043f\u043e\u0441\u043b\u0435 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0442\u0435\u0441\u0442\u0430 \u0432\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u043a\u0430 \u0441 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u043c \u0432\u0435\u0440\u043d\u044b\u0445 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0442\u0435\u043c, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442, \u0434\u043b\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439 \u0441\u0434\u0430\u0447\u0438 \u044d\u043a\u0437\u0430\u043c\u0435\u043d\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u043c\u0435\u0442\u044c \u0437\u043d\u0430\u043d\u0438\u044f \u043f\u043e \u0432\u0441\u0435\u043c \u0442\u0435\u043c\u0430\u043c.<\/p>\n<p>  <b>\u0421\u0435\u043d\u0441\u043e\u0440\u044b (\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e Windows.Device.Sensors)<\/b><br \/>  <i>Accelerometer<\/i> \u2013 \u0423\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435. \u042d\u0442\u043e\u0442 \u0441\u0435\u043d\u0441\u043e\u0440 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u043f\u043e \u043e\u0441\u044f\u043c x, y \u0438 z. \u041f\u0440\u043e\u0449\u0435 \u0432\u044b\u0440\u0430\u0436\u0430\u044f\u0441\u044c, \u044d\u0442\u043e \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u0432\u043b\u0435\u0432\u043e-\u0432\u043f\u0440\u0430\u0432\u043e\/\u043a \u0441\u0435\u0431\u0435 \u0438 \u043e\u0442 \u0441\u0435\u0431\u044f. \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 shaken (\u043f\u0440\u0438 \u0442\u0440\u044f\u0441\u043a\u0435).<br \/>  <i>Gyrometer<\/i> \u2014 \u0423\u0433\u043b\u043e\u0432\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\/\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435. \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0441\u0435\u0439 x, y \u0438\u043b\u0438 z. \u0414\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u2014 \u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043d\u0435 \u0441\u0434\u0432\u0438\u0433\u0430\u044f \u043e\u0441\u044c.<br \/>  \u0410\u043a\u0441\u0435\u043b\u0435\u0440\u043e\u043c\u0435\u0442\u0440\u044b \u0434\u0430\u044e\u0442 \u0432\u0435\u0440\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u0445 \u0434\u043e\u043b\u0433\u043e\u0439 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043d\u043e \u0432\u044b\u0434\u0430\u044e\u0442 \u043c\u043d\u043e\u0433\u043e \u0448\u0443\u043c\u043e\u0432 \u043f\u0440\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u0445. \u0413\u0438\u0440\u043e\u043c\u0435\u0442\u0440\u044b \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442 \u0445\u043e\u0440\u043e\u0448\u0438 \u043f\u0440\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u0445, \u043d\u043e \u0434\u0440\u0438\u0444\u0442\u0443\u044e\u0442 \u043f\u0440\u0438 \u0434\u043b\u0438\u043d\u043d\u044b\u0445. \u0416\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u0430 \u0441\u0435\u043d\u0441\u043e\u0440\u0430 \u0434\u043b\u044f \u043a\u0430\u043b\u0438\u0431\u0440\u043e\u0432\u043a\u0438 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430.<br \/>  <i>Compass<\/i> \u2013 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0435\u0432\u0435\u0440\u0430 \u0438, \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043c\u0430\u0433\u043d\u0438\u0442\u043d\u043e\u0433\u043e \u0441\u0435\u0432\u0435\u0440\u0430<br \/>  <i>Inclinometer<\/i> \u2014 \u0423\u043a\u043b\u043e\u043d\u043e\u043c\u0435\u0440 pitch, roll, and yaw \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0443\u0433\u043b\u0430\u043c \u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0432\u043e\u043a\u0440\u0443\u0433 \u043e\u0441\u0435\u0439 x, y, \u0438 z <br \/>  <i>LightSensor<\/i> \u2013 \u0441\u0435\u043d\u0441\u043e\u0440 \u0441\u0432\u0435\u0442\u043e\u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<br \/>  <i>OrientationSensor<\/i> \u2013 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u043f\u043e\u0432\u043e\u0440\u043e\u0442\u0430 \u0438 \u043a\u0432\u0430\u0442\u0435\u0440\u043d\u0438\u043e\u043d<br \/>  <i>SimpleOrientationSensor<\/i> \u2013 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0432\u044b\u0434\u0430\u0435\u0442 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u0432\u0438\u0434\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 enumeration. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: Rotated90DegreesCounterclockwise, Faceup, Facedown, NotRotated<br \/>  <i>Proximity<\/i> \u2013 \u0441\u0435\u043d\u0441\u043e\u0440 \u0431\u043b\u0438\u0437\u043e\u0441\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u2014 NFC<br \/>  \u0415\u0449\u0435 \u0435\u0441\u0442\u044c \u0441\u0435\u043d\u0441\u043e\u0440\u044b: <i>Barometer, Magnetometer, Altimeter<\/i><br \/>  \u041f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0441\u044b\u043b\u043a\u0435 \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u0435 \u0432\u0438\u0434\u0435\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u043d\u0441\u043e\u0440\u043e\u0432: <a href=\"http:\/\/blogs.windows.com\/buildingapps\/2013\/11\/26\/choosing-the-right-sensor\/\">Choosing the right sensor<\/a><br \/>  \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435 API \u0441\u0435\u043d\u0441\u043e\u0440\u043e\u0432 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b (\u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f SimpleOrientationSensor). \u0421\u043f\u0435\u0440\u0432\u0430, \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0441\u0435\u043d\u0441\u043e\u0440 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430 GetDefault() \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0441\u0435\u043d\u0441\u043e\u0440\u0430, \u0437\u0430\u0442\u0435\u043c \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443 ReportInterval (\u0432 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445), \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0434\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0438 \u043a\u0430\u043a \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u043b\u044f \u0441\u0435\u043d\u0441\u043e\u0440\u0430. \u041f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u043e\u0445\u043e\u0436\u0435\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 ReadingChanged \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0441\u0435\u043d\u0441\u043e\u0440\u0430. \u0410\u043a\u0441\u0435\u043b\u0435\u0440\u043e\u043c\u0435\u0442\u0440 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 Shaken, \u0430 \u0443 \u0441\u0435\u043d\u0441\u043e\u0440\u0430 SimpleOrientationSensor, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445, \u0441\u043e\u0431\u044b\u0442\u0438\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u044d\u043a\u0440\u0430\u043d\u0430 \u0441\u043b\u0443\u0436\u0438\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 OrientationChanged. <br \/>  \u041f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 ReportInterval \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u043d\u044c\u0448\u0435\u0435, \u0447\u0435\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c, \u0438\u043d\u0430\u0447\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u041d\u0443\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0441\u0435\u043d\u0441\u043e\u0440\u0430 MinimumReportInterval \u0443\u0437\u043d\u0430\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u0441 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u043e\u043c. \u0415\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c ReportInterval \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c 0, \u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<br \/>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u043a\u0441\u0435\u043b\u0435\u0440\u043e\u043c\u0435\u0442\u0440\u0430:  <\/p>\n<pre><code class=\"cs\">using Windows.Devices.Sensors;  \/\/ \u0432 MainPage \u043f\u043e\u0441\u043b\u0435 this.InitializeComponent()  Accelerometer _accelerometer = Accelerometer.GetDefault();       if (_accelerometer != null)             { uint minReportInterval = _accelerometer.MinimumReportInterval; uint reportInterval = minReportInterval &gt; 20 ? minReportInterval : 20; _accelerometer.ReportInterval = reportInterval;  _accelerometer.ReadingChanged += new TypedEventHandler&lt;Accelerometer, AccelerometerReadingChangedEventArgs&gt;(ReadingChanged);             } \/\/ \u2026\u2026\u2026 \u0437\u0434\u0435\u0441\u044c \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043a\u043e\u0434         private async void ReadingChanged(object sender, AccelerometerReadingChangedEventArgs e)         {             await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =&gt;             {                 AccelerometerReading reading = e.Reading;                 txtXAxis.Text = String.Format(&quot;{0,5:0.00}&quot;, reading.AccelerationX);                 txtZAxis.Text = String.Format(&quot;{0,5:0.00}&quot;, reading.AccelerationZ);             });         }         \/\/ Dispatcher.RunAsync \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0441\u044f \u0432 \u043f\u043e\u0442\u043e\u043a\u0435 UI <\/code><\/pre>\n<p>  <b>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u043a\u0430\u043c\u0435\u0440\u043e\u0439<\/b><br \/>  \u0415\u0441\u0442\u044c \u0434\u0432\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043a\u0430\u043c\u0435\u0440\u043e\u0439. \u041f\u0435\u0440\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 (\u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439) \u044d\u0442\u043e \u0432\u043e\u0437\u043b\u043e\u0436\u0438\u0442\u044c \u00ab\u043c\u0438\u0441\u0441\u0438\u044e\u00bb \u043d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 API \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0441 CameraCaptureUI. \u0412\u0442\u043e\u0440\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u2013 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c MediaCapture.<br \/>  <b>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 CameraCaptureUI<\/b><br \/>  \u041d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 XAML \u044d\u043b\u0435\u043c\u0435\u043d\u0442 MediaElement \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0437\u0430\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043e:  <\/p>\n<pre><code class=\"xml\">&lt;MediaElement x:Name=&quot;mediaPreivew&quot; Width=&quot;320&quot; \/&gt; <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0438\u0434\u0435\u043e \u0441 \u043a\u0430\u043c\u0435\u0440\u044b \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438:  <\/p>\n<pre><code class=\"cs\">    CameraCaptureUI cameraUI = new CameraCaptureUI();        Windows.Storage.StorageFile capturedMedia = await cameraUI.CaptureFileAsync(CameraCaptureUIMode.Video);     if (capturedMedia != null)     {         var stream = await capturedMedia.OpenAsync(FileAccessMode.Read);         mediaPreivew.SetSource(stream, capturedMedia.ContentType);         mediaPreivew.Play();     } <\/code><\/pre>\n<p>  \u0418\u043b\u0438 \u0432\u0442\u043e\u0440\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u0434\u0430 \u0441 \u0437\u0430\u043f\u0438\u0441\u044c\u044e \u0432 \u0444\u0430\u0439\u043b (\u0431\u0435\u0437 \u043f\u0440\u0435\u0434\u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430):  <\/p>\n<pre><code class=\"cs\">Windows.Media.Capture.CameraCaptureUI dialog = new Windows.Media.Capture.CameraCaptureUI(); Size aspectRatio = new Size(16, 9); dialog.PhotoSettings.CroppedAspectRatio = aspectRatio; dialog.PhotoSettings.AllowCropping = true; Windows.Storage.StorageFile file = await dialog.CaptureFileAsync(Windows.Media.Capture.CameraCaptureUIMode.Photo); <\/code><\/pre>\n<p>  <b>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 MediaCapture<\/b><br \/>  \u0412 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0435\u0431 \u043a\u0430\u043c\u0435\u0440\u044b \u0438 \u043c\u0438\u043a\u0440\u043e\u0444\u043e\u043d\u0430.<br \/>  \u041a\u043e\u0434 \u0434\u043b\u044f \u0437\u0430\u0445\u0432\u0430\u0442\u0430:   <\/p>\n<pre><code class=\"cs\">   _mediaCapture = new Windows.Media.Capture.MediaCapture();    await _mediaCapture.InitializeAsync(); \/\/ \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u043c \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u044d\u043a\u0440\u0430\u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 Windows.Graphics.Display.DisplayInformation.AutoRotationPreferences =                                                          Windows.Graphics.Display.DisplayOrientations.Landscape;  var videoFile = await Windows.Storage.ApplicationData.Current.LocalFolder.CreateFileAsync(&quot;recording.mp4&quot;,                                                          Windows.Storage.CreationCollisionOption.ReplaceExisting);                     var profile = Windows.Media.MediaProperties.MediaEncodingProfile.CreateMp4(Windows.Media.MediaProperties.VideoEncodingQuality.HD1080p);   await _mediaCapture.StartRecordToStorageFileAsync(profile, videoFile); <\/code><\/pre>\n<p>  \u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 MediaCapture \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0442\u044c \u0432\u0441\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f:<br \/>  \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c OnSuspending \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0432\u043e\u0442 \u043a\u043e\u0434:  <\/p>\n<pre><code class=\"cs\">    private async void OnSuspending(object sender, SuspendingEventArgs e)         {             var deferral = e.SuspendingOperation.GetDeferral();             \/\/TODO: Save application state and stop any background activity             deferral.Complete();         } <\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043c\u0435\u0436\u0434\u0443 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c deferral (\u0430\u043d\u0433\u043b. \u2013 \u043e\u0442\u0441\u0440\u043e\u0447\u043a\u0430) \u0438 \u0435\u0433\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435\u043c \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0432\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0440\u0430\u0431\u043e\u0442\u044b. \u0417\u0430\u0447\u0435\u043c \u0436\u0435 \u0437\u0434\u0435\u0441\u044c \u043d\u0443\u0436\u0435\u043d \u044d\u0442\u043e\u0442 deferral? \u041f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u0430 \u0438 \u0442\u043e\u0433\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043e \u043d\u0430 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435. \u0427\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e, \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u0430\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c deferral \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0435\u0433\u043e \u0432 \u043a\u043e\u043d\u0446\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e deferral.Complete();<br \/>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0443\u044e \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0437\u0430\u0445\u0432\u0430\u0442 \u0432\u0438\u0434\u0435\u043e \u0438 \u043e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u044b. \u041b\u044e\u0431\u0430\u044f \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e Task. Void \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 (\u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0438 \u0438 \u0442.\u043f.), \u0442\u043e \u0435\u0441\u0442\u044c \u0434\u043b\u044f \u0442\u0435\u0445 \u043c\u0435\u0441\u0442, \u0433\u0434\u0435 Task \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c.  <\/p>\n<pre><code class=\"cs\">       public async System.Threading.Tasks.Task disp()         {             await _mediaCapture.StopRecordAsync();             await _mediaCapture.StopPreviewAsync();             capturePreview.Source = null;             _mediaCapture.Dispose();         } <\/code><\/pre>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u0443 \u043d\u0430\u0441 _mediaCapture \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 MainPage, \u0430 OnSuspending \u0432 App.xaml.cs, \u0442\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0438\u043b\u0438 \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c _mediaCapture \u0432 App.xaml.cs \u0438\u043b\u0438 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0441\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442 MainPage. \u0412\u0442\u043e\u0440\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0430\u043a\u043e\u0433\u043e \u0432\u043e\u0442 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0442\u0440\u044e\u043a\u0430 (\u0432\u0440\u044f\u0434 \u043b\u0438 \u0442\u0430\u043a\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432 \u044d\u043a\u0437\u0430\u043c\u0435\u043d\u0435, \u043d\u043e \u044d\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435):<br \/>  \u0412 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f MainPage \u0434\u043e\u0431\u0430\u0432\u0438\u043c:   <\/p>\n<pre><code class=\"cs\">public static MainPage _mainpage; <\/code><\/pre>\n<p>  \u0418 \u0432 \u0441\u0430\u043c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440:  <\/p>\n<pre><code class=\"cs\">        public MainPage()         {             this.InitializeComponent();             _mainpage = this;         } <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u0435\u043c \u0432\u044b\u0437\u0432\u0430\u0442\u044c Task \u0442\u0430\u043a:   <\/p>\n<pre><code class=\"cs\">await MainPage._mainpage.disp(); <\/code><\/pre>\n<p>  \u041a\u0430\u043a \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c XAML \u044d\u043b\u0435\u043c\u0435\u043d\u0442:  <\/p>\n<pre><code class=\"xml\">&lt;CaptureElement Name=&quot;capturePreview&quot; Height=&quot;400&quot; \/&gt; <\/code><\/pre>\n<p>  \u0418 \u0432\u043c\u0435\u0441\u0442\u043e \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u0432 \u0444\u0430\u0439\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440:  <\/p>\n<pre><code class=\"cs\">     capturePreview.Source = _mediaCapture;      await _mediaCapture.StartPreviewAsync(); <\/code><\/pre>\n<p>  \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 Windows.Media.Capture.MediaCapture, \u2014 CameraCaptureUI \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u0430\u0432, \u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435. \u041d\u043e \u043f\u043e\u043c\u0435\u0449\u0430\u0442\u044c \u043a\u043e\u0434 \u0432 try\/catch \u043e\u0431\u0435\u0440\u0442\u043a\u0443 \u043d\u0443\u0436\u043d\u043e \u0438 \u0442\u0430\u043c \u0438 \u0442\u0430\u043c.<br \/>  <b><i>VideoDeviceController<\/i><\/b> \u2013 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u0430\u043c\u0435\u0440\u044b. \u0422\u0430\u043a\u0438\u0435, \u043a\u0430\u043a, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: Focus, Zoom, Hue, TorchControl, FlashControl, WhiteBalanceControl, Brightness, Contrast\u2026<br \/>  \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043b\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e:  <\/p>\n<pre><code class=\"cs\">if (MediaCapture.VideoDeviceController.Brightness.Capabilities.Supported) <\/code><\/pre>\n<p>  \u0438\u043b\u0438 \u0432 \u0441\u0442\u0438\u043b\u0435 JavaScript:  <\/p>\n<pre><code class=\"cs\">if (videoDev.Brightness.Capabilities.Step != 0) <\/code><\/pre>\n<p>  \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:  <\/p>\n<pre><code class=\"cs\">            var videoDev = _mediaCapture.VideoDeviceController;             if (videoDev.Contrast.Capabilities.Supported)             {                 var contrastCapabilities = videoDev.Contrast.Capabilities;                 var max = contrastCapabilities.Max;                 videoDev.Contrast.TrySetAuto(false);                         if (videoDev.Contrast.TrySetValue(max))                         {                             \/\/ \u043a\u043e\u043d\u0442\u0440\u0430\u0441\u0442 \u0431\u043b\u0430\u0433\u043e\u043f\u043e\u043b\u0443\u0447\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0432 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.                         }             } <\/code><\/pre>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432 MediaCaptureInitializationSettings  <\/p>\n<pre><code class=\"cs\">Windows.Media.Capture.MediaCaptureInitializationSettings _captureInitSettings = null; _captureInitSettings = new Windows.Media.Capture.MediaCaptureInitializationSettings(); _captureInitSettings.VideoDeviceId = &quot;&quot;; _captureInitSettings.StreamingCaptureMode=Windows.Media.Capture.StreamingCaptureMode.AudioAndVideo; <\/code><\/pre>\n<p>  \u0418 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0438\u0445 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438   <\/p>\n<pre><code class=\"cs\">await _mediaCapture.InitializeAsync(_captureInitSettings); <\/code><\/pre>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u0437\u0430\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435 MediaCaptureInitializationSettings \u043f\u043e\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0438\u0437 \u043a\u043b\u0430\u0441\u0441\u0430 MediaCaptureSettings.<\/p>\n<p>  <b>\u0415\u0449\u0435 \u0440\u0430\u0437 \u043e dependency property<\/b><br \/>  Dependency property \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043e \u0441 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u043c\u0438 public static readonly. \u041f\u0440\u0438\u043c\u0435\u0440:  <\/p>\n<pre><code class=\"cs\">\/\/ IsSpinningProperty \u044d\u0442\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 dependency property  \/\/ \u043d\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 PropertyMetadata, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0443\u043a\u0430\u0437\u0430\u043b\u0438 null         public static readonly DependencyProperty IsSpinningProperty =     DependencyProperty.Register(         &quot;IsSpinning&quot;, typeof(Boolean),         typeof(MainPage), null     );  \/\/ \u0414\u0430\u043b\u0435\u0435 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0430 property\/\u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430, \u0442\u0430\u043a \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e, \u0443\u043a\u0430\u0437\u0430\u0432 \u043f\u043e\u0441\u043b\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u0430 \u0447\u0435\u0440\u0435\u0437 \u0442\u043e\u0447\u043a\u0443.  \/\/ \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u043a:  bool spin = MainPage.Current.IsSpinning;         public bool IsSpinning         {             get { return (bool)GetValue(IsSpinningProperty); }             set { SetValue(IsSpinningProperty, value); }         } <\/code><\/pre>\n<p>  \u041d\u043e \u044d\u0442\u043e \u0432\u0441\u0435 \u0432\u0430\u043c \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u043e. \u0410 \u0432\u043e\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432 \u043d\u043e\u0432\u0438\u043d\u043a\u0443.<br \/>  <b><i>Attached DependencyProperty<\/i><\/b> \u2013 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u044d\u0434\u0430\u043a\u043e\u0435 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0435 property, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u0442\u044c\u0441\u044f \u043b\u044e\u0431\u043e\u043c\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0443. \u041e\u0434\u043d\u043e \u0438\u0437 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 Attached DependencyProperty \u044d\u0442\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f property, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u0432 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, DockPanel.Dock \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e XAML \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0430 Dock. \u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u0438\u043c\u0435\u0440:  <\/p>\n<pre><code class=\"cs\">public static readonly DependencyProperty IsMovableProperty =          DependencyProperty.RegisterAttached(&quot;IsMovable&quot;, typeof(Boolean), typeof(MainPage), new PropertyMetadata(false));         public static void SetIsMovable(UIElement element, Boolean value)         {             element.SetValue(IsMovableProperty, value);         }         public static Boolean GetIsMovable(UIElement element)         {             return (Boolean)element.GetValue(IsMovableProperty);         } <\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d \u043e\u0431\u044a\u0435\u043a\u0442 DependencyObject \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 IsMovable. \u041e\u0431\u044a\u0435\u043a\u0442 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0443 MainPage, \u0442\u0430\u043a \u0447\u0442\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 MainPage \u0438\u0437 \u043b\u044e\u0431\u043e\u0433\u043e \u0434\u043e\u0447\u0435\u0440\u043d\u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043e\u043a\u043d\u0430. <br \/>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0438\u0437 \u043a\u043e\u0434\u0430 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b \u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0443 MainPage   <\/p>\n<pre><code class=\"xml\">  &lt;TextBlock local:MainPage.IsMovable=&quot;True&quot; x:Name=&quot;txtOut&quot;&gt;&lt;\/TextBlock&gt; <\/code><\/pre>\n<p>  \u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 Attached DependencyProperty \u043c\u043e\u0436\u043d\u043e \u0438 \u0438\u0437 \u043a\u043e\u0434\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e\u0445\u043e\u0436\u0435\u0439 \u043d\u0430 \u044d\u0442\u0443:  <\/p>\n<pre><code class=\"cs\"> MainPage.SetIsMovable(this, !(bool)this.GetValue(IsMovableProperty)); <\/code><\/pre>\n<p>  <b>\u0424\u0430\u0439\u043b\u044b, \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/b>  <\/p>\n<pre><code class=\"cs\">       Windows.Storage.Pickers.FileOpenPicker openPicker=new Windows.Storage.Pickers.FileOpenPicker();        Windows.Storage.StorageFile file = await openPicker.PickSingleFileAsync();        if (file != null)   \/\/ \u0435\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u0431\u044b\u043b \u0432\u044b\u0431\u0440\u0430\u043d        Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.Add(file, &quot;20150706&quot;); \/\/ \u0417\u0434\u0435\u0441\u044c \u043c\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b\u0438 \u0444\u0430\u0439\u043b \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 MRU - \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u0435\u0442\u0430\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043c\u044b \u0437\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0434\u0430\u0442\u0443.  \/\/ \u041c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u0430\u043a\u0443\u044e-\u043b\u044e\u0431\u0443\u044e \u0438\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e.  \/\/ \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0444\u0430\u0439\u043b \u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a:        Windows.Storage.AccessCache.AccessListEntry item =                                   Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.Entries[0];        string metadata = item.Metadata; <\/code><\/pre>\n<p>  <b>\u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u043f\u0438\u0441\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432<\/b>  <\/p>\n<pre><code class=\"cs\">IReadOnlyList&lt;Windows.Storage.StorageFile&gt; fileList =                                    await Windows.Storage.ApplicationData.Current.LocalFolder.GetFilesAsync(); <\/code><\/pre>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c GetFoldersAsync() \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u043f\u0438\u0441\u043a\u0430 \u043f\u0430\u043f\u043e\u043a \u0438\u043b\u0438 GetItemsAsync() \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0440\u0430\u0437\u0443 \u0438 \u0444\u0430\u0439\u043b\u044b \u0438 \u043f\u0430\u043f\u043a\u0438.<\/p>\n<p>  <b>\u0417\u0430\u043f\u0438\u0441\u044c \u0432 \u0444\u0430\u0439\u043b<\/b>  <\/p>\n<pre><code class=\"cs\">       var folder = Windows.Storage.KnownFolders.PicturesLibrary;        var file = await folder.CreateFileAsync(&quot;hello.txt&quot;, Windows.Storage.CreationCollisionOption.ReplaceExisting);        var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite);        using (var outputStream = stream.GetOutputStreamAt(0))        {            Windows.Storage.Streams.DataWriter dataWriter = new Windows.Storage.Streams.DataWriter(outputStream);            dataWriter.WriteString(&quot;Some text&quot;);            await dataWriter.StoreAsync();            await outputStream.FlushAsync();        } <\/code><\/pre>\n<p>  \u0418\u043b\u0438 \u0435\u0449\u0435 \u043f\u0440\u043e\u0449\u0435:  <\/p>\n<pre><code class=\"cs\">       var folder = Windows.Storage.KnownFolders.PicturesLibrary;        var file = await folder.CreateFileAsync(&quot;hello2.txt&quot;, Windows.Storage.CreationCollisionOption.ReplaceExisting);        await Windows.Storage.FileIO.WriteTextAsync(file, &quot;Swift as a shadow&quot;); <\/code><\/pre>\n<p>  \u0418 \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0438 \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435, \u0432 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0432 Capabilities \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0434\u043e\u0441\u0442\u0443\u043f \u043a Pictures Library.<\/p>\n<p>  <b>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/b><br \/>  \u0412 Windows Store \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d Microsoft.VisualStudio.TestPlatform.UnitTestFramework, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 .NET \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0410\u0442\u0440\u0438\u0431\u0443\u0442 ExpectedException \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f. \u0412\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 Assert.ThrowsException\u041c\u0435\u0442\u043e\u0434\u044b, \u043f\u043e\u043c\u0435\u0447\u0435\u043d\u043d\u044b\u0435 \u043a\u0430\u043a TestInitialize\/TestCleanup \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u043f\u0435\u0440\u0435\u0434, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0430. \u0417\u043d\u0430\u0435\u0442\u0435 \u043b\u0438 \u044d\u0442\u043e \u0443\u0434\u043e\u0431\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0438\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u043e\u0431\u044a\u0435\u043a\u0442 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u043b\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0442\u0435\u0441\u0442\u0430.  <\/p>\n<pre><code class=\"cs\">[TestInitialize]  public void TestSetup()  {      }    [TestCleanup]  public void TestCleanIt()  { } <\/code><\/pre>\n<p>  \u0415\u0449\u0435 \u0431\u043e\u043b\u0435\u0435 \u0443\u0434\u043e\u0431\u043d\u0430 \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0430\u044f\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043e\u0431\u043b\u0435\u0433\u0447\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u0442\u0430 \u0442\u0435\u0441\u0442\u043e\u0432. \u042d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0442\u0435\u0441\u0442 \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0432\u043e\u0434\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u043d\u0430\u043c \u044d\u0442\u0443 \u0444\u0438\u0447\u0443:  <\/p>\n<pre><code class=\"cs\"> [DataTestMethod]  [DataRow(&quot;25892e17-80f6-715f-9c65-7395632f0223&quot;, &quot;Customer #1&quot;)]  [DataRow(&quot;a53e98e4-0197-3513-be6d-49836e406aaa&quot;, &quot;Customer #2&quot;)]  [DataRow(&quot;f2s34824-3153-2524-523d-29386e4s6as1&quot;, &quot;Customer #3&quot;)]  public void GetCustomerName_RightID_ReturnExpected(String id, String customerName)  {      var obj = new SomeClass();   var actualCustomer = obj.CallSomeFunctionGetName(id);   Assert.AreEqual(customerName, actualCustomer);  } <\/code><\/pre>\n<p>  \u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437, \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0435\u0440\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 ID \u043f\u043e\u043a\u0443\u043f\u0430\u0442\u0435\u043b\u044f, \u0432\u0442\u043e\u0440\u043e\u0435 \u2013 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u043f\u043e\u043a\u0443\u043f\u0430\u0442\u0435\u043b\u044f.<br \/>  \u041a\u0440\u043e\u043c\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 [DataTestMethod] \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u0436\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 [Microsoft.VisualStudio.TestPlatform.UnitTestFramework.AppContainer.UITestMethod], \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u0434 \u0432 \u043f\u043e\u0442\u043e\u043a\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430. \u0420\u0430\u043d\u0435\u0435 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u044b\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c dispatcher.<\/p>\n<p>  \u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0435\u0441\u044c \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c (\u044f \u043d\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u044e \u0441\u0432\u043e\u0439 \u043a\u043e\u0434, \u0430 \u0435\u0441\u043b\u0438 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u044e, \u0442\u043e \u0434\u0435\u043b\u0430\u044e \u044d\u0442\u043e \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d), \u0442\u043e \u0432\u044b \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0437\u0430\u043c\u0435\u0447\u0430\u043b\u0438 \u0432 \u0443\u0433\u043b\u0443 \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u0446\u0438\u0444\u0440\u0430\u043c\u0438. \u0427\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435:<br \/>  <b>045 025 040965 003 000 001<\/b><br \/>  \u0426\u0438\u0444\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u043d\u0430 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0442 (\u0441\u043b\u0435\u0432\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u043e):<br \/>  <i>Composition thread FPS<\/i> \u2013 \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043a\u0430\u0434\u0440\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u0434\u043b\u044f \u043f\u043e\u0442\u043e\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438 (composition thread). \u041a\u0441\u0442\u0430\u0442\u0438, \u044d\u0442\u043e\u0442 \u043f\u043e\u0442\u043e\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430.<br \/>  <i>UI thread FPS <\/i>\u2013 \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043a\u0430\u0434\u0440\u043e\u0432 \u0434\u043b\u044f \u043f\u043e\u0442\u043e\u043a\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 (UI thread)<br \/>  <i>Memory Video<\/i> \u2013 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u0442\u0435\u043a\u0441\u0442\u0443\u0440<br \/>  <i>Batch<\/i> \u2013 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0441\u043b\u0430\u043d\u044b \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0435 (GPU) \u0434\u043b\u044f \u043f\u0440\u043e\u0440\u0438\u0441\u043e\u0432\u043a\u0438<br \/>  <i>Composition thread CPU<\/i> \u2013 \u0432\u0440\u0435\u043c\u044f \u0432 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445, \u043f\u043e\u0442\u0440\u0430\u0447\u0435\u043d\u043d\u043e\u0435 CPU \u043d\u0430 \u043f\u043e\u0442\u043e\u043a \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438<br \/>  <i>UI CPU<\/i> \u2013 \u0432\u0440\u0435\u043c\u044f \u0432 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445 \u043f\u043e\u0442\u0440\u0430\u0447\u0435\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u043c \u043d\u0430 \u043f\u043e\u0442\u043e\u043a\u0438 UI<br \/>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043b\u0438 \u0441\u043a\u0440\u044b\u0442\u044c \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0432 \u0443\u0433\u043b\u0443, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434:  <\/p>\n<pre><code class=\"cs\">public App() {      this.InitializeComponent();       DebugSettings.EnableFrameRateCounter = true;  } <\/code><\/pre>\n<p>  \u0420\u0430\u0437 \u0443\u0436 \u0437\u0430\u0442\u0440\u043e\u043d\u0443\u043b\u0438 \u043f\u043e\u0442\u043e\u043a\u0438 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0438 \u043f\u043e\u0442\u043e\u043a\u0438 UI, \u0442\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438, \u043b\u0438\u0431\u043e \u0438\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044e\u0442 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043c\u0430\u043a\u0435\u0442 \u0438 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0441\u0446\u0435\u043d\u044b. \u0422\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0437\u0430\u0440\u0430\u043d\u0435\u0435. \u041e\u043d\u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0442 \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043e\u0442\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u043c \u043f\u043e\u0442\u043e\u043a\u0435 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0438 \u0440\u0430\u0437\u0433\u0440\u0443\u0436\u0430\u044e\u0442 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u043e\u0442\u043e\u043a UI. \u041a\u0441\u0442\u0430\u0442\u0438, \u0435\u0441\u043b\u0438 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f \u043d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u0442\u043e \u043e\u043d\u0430 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0439. <\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043c\u0435\u0441\u0442\u0430 \u0433\u0434\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u0431\u043e\u043b\u0435\u0435 \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u0430 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043a\u0430\u0440\u0442\u0443 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043a\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e:  <\/p>\n<pre><code class=\"cs\">DebugSettings.IsOverdrawHeatMapEnabled=true; <\/code><\/pre>\n<p>  \u041c\u0435\u0441\u0442\u0430, \u0433\u0434\u0435 \u0435\u0441\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430, \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u044b \u0431\u043e\u043b\u0435\u0435 \u0442\u0435\u043c\u043d\u044b\u043c \u0446\u0432\u0435\u0442\u043e\u043c.<\/p>\n<p>  <b>Exceptions<\/b><br \/>  \u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u0435 <i>UnhandledException<\/i> \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u2014 \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u0438\u043b\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0412\u044b \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0432 \u044d\u0442\u043e\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0438 \u043e\u0448\u0438\u0431\u043a\u0438. arg.Handled=true \u2013 \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u043b\u043e\u0445\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435. \u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u0441 XAML \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u043c, \u044d\u0442\u0438\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435\u043c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043d\u044b. <\/p>\n<p>  \u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0430 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u043c \u043a\u043e\u0434\u0435:  <\/p>\n<pre><code class=\"cs\">\/\/ \u2026 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043a\u043e\u0434 try { await this.DoSomethingAsync();  \/\/ \u0432\u044b\u0437\u043e\u0432 \u043c\u0435\u0442\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 }catch{} \/\/ \u2026 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043a\u043e\u0434 private Task DoSomethingAsync(){ \/\/ \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f } <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0437\u0430\u0431\u044b\u0442\u044c await, \u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0430, \u0442\u043e \u043e\u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 anonymous Task \u0438 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f.<br \/>  \u0415\u0441\u043b\u0438 \u0436\u0435 \u0437\u0430\u0431\u044b\u0442\u044c await \u0434\u043b\u044f \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e void \u043c\u0435\u0442\u043e\u0434\u0430, \u0442\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043a\u043e\u0434 \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u0435\u0435 \u043e\u0442\u043b\u043e\u0432\u0438\u0442\u044c \u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043d\u0435\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f. \u0412\u043e\u0442 \u043f\u043e\u0447\u0435\u043c\u0443 void \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a button click. \u0412 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Task.<\/p>\n<p>  \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 Task.WhenAll \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f <i>AggregateException<\/i> \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e \u043e\u0448\u0438\u0431\u043e\u043a, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u0438\u0445 \u0431\u044b\u043b\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e. \u0414\u043b\u044f \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Flatten. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:  <\/p>\n<pre><code class=\"cs\">catch (AggregateException aex) {      foreach (Exception ex in aex.Flatten().InnerExceptions) { \/\/ \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 }} <\/code><\/pre>\n<p>  Task Parallel Library (TPL) \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0434\u043b\u044f \u00ab\u043b\u043e\u0432\u043b\u0438\u00bb \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u2014 <i>UnobservedTaskException<\/i>.<br \/>  \u042d\u0442\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 App.xaml.cs  <\/p>\n<pre><code class=\"cs\">TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException;  <\/code><\/pre>\n<p>  <i>e.SetObserved<\/i> \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u2013 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430. UnobservedTaskException \u044d\u0442\u043e \u043e\u0448\u0438\u0431\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0441\u0432\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0448\u0438\u0431\u043a\u043e\u0439 \u0442\u0438\u043f\u0430 AggregateException, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c Flatten.<\/p>\n<p>  \u0414\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u043b\u043e\u0433 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043a\u043b\u0430\u0441\u0441:  <\/p>\n<pre><code class=\"cs\">using System.Diagnostics.Tracing; using System.Collections.Generic;          class MyEventSource : EventSource         {             public static MyEventSource Log = new MyEventSource();              public void Startup() { WriteEvent(1); }             public void OpenFileStart(string fileName) { WriteEvent(2, fileName); }         } <\/code><\/pre>\n<p>  \u0418 \u043f\u043e\u0441\u043b\u0435 \u0432 \u043a\u043e\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043b\u043e\u0433:  <\/p>\n<pre><code class=\"cs\">            MyEventSource.Log.Startup();             MyEventSource.Log.OpenFileStart(&quot;SomeFile&quot;); <\/code><\/pre>\n<p>  <b>\u041f\u043e\u0438\u0441\u043a \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432<\/b><br \/>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0439\u0442\u0438 \u043a\u0430\u043a\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u043b\u0430\u0441\u0441\u043e\u043c <i>Windows.Devices.Enumeration.DeviceInformation<\/i>. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043d\u0430\u0439\u0434\u0435\u043c \u0432\u0441\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0437\u0430\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0432\u0438\u0434\u0435\u043e:  <\/p>\n<pre><code class=\"cs\">using Windows.Devices.Enumeration; \/\/ \u2026\u2026.. \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043a\u043e\u0434 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d             var interfaces = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(DeviceClass.VideoCapture);             txtOut.Text = interfaces.Count + &quot; \u043d\u0430\u0439\u0434\u0435\u043d\u043e&quot;;             foreach (Windows.Devices.Enumeration.DeviceInformation deviceInterface in interfaces)             {                 var id = &quot;Id:&quot; + deviceInterface.Id;                 var name = deviceInterface.Name;                 var isEnabled = &quot;IsEnabled:&quot; + deviceInterface.IsEnabled;                 txtOut.Text = txtOut.Text + Environment.NewLine +id.ToString()+&quot; &quot;+name.ToString() + &quot; &quot; + isEnabled.ToString();             }  <\/code><\/pre>\n<p>  \u042d\u0442\u043e \u0431\u044b\u043b \u043f\u043e\u0438\u0441\u043a \u043f\u043e \u0442\u0438\u043f\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. <br \/>  <i>DeviceClass<\/i> \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c: <i>All, AudioCapture, AudioRender, PortableStorageDevice, VideoCapture, ImageScanner, Location<\/i><br \/>  \u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u043f\u043e\u0438\u0441\u043a, \u0443\u043a\u0430\u0437\u0430\u0432 \u0432\u043c\u0435\u0441\u0442\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441\u0442\u0440\u043e\u043a\u0443, \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 Advanced Query Syntax (AQS). \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0441\u043a\u0430\u0436\u0435\u043c, \u043f\u043e \u0435\u0433\u043e GUID.<\/p>\n<p>  <b>\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430<\/b><br \/>  \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c Autoplay \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Windows Store.<br \/>  \u0412 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0446\u0438\u044e AutoPlay Device, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043a\u0430\u043a \u044d\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0435:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/7cc\/5a3\/ff6\/7cc5a3ff6bf942c8bf2cb7900362b5d0.png\"\/><\/p>\n<p>  \u0412 \u043c\u0435\u0442\u043e\u0434\u0435 OnActivated \u043a\u043b\u0430\u0441\u0441\u0430 App, \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 IActivatedEventArgs.  <\/p>\n<pre><code class=\"cs\">if (args.Kind == ActivationKind.Device) <\/code><\/pre>\n<p>  \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043c\u0435\u0442\u043e\u0434 <i>OnLaunched<\/i> \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0442 \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0432\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c. \u0414\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <i>OnActivated<\/i>.<br \/>  \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0432\u043c\u0435\u0441\u0442\u043e OnActivated \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b:<br \/>  <i>OnFileActivated, OnSearchActivated, OnShareTargetActivated, OnFileOpenPickerActivated, OnFileSavePickerActivated, OnCachedFileUpdaterActivated<\/i><\/p>\n<p>  <b>DataProtectionProvider<\/b><br \/>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u0432\u0430\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0438\u043b\u0438 \u043f\u043e\u0442\u043e\u043a \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0432 \u0435\u0435 \u0438 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0432:  <\/p>\n<pre><code class=\"cs\">using Windows.Security.Cryptography.DataProtection; using Windows.Storage.Streams; using Windows.Security.Cryptography; \/\/ ..... \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043a\u043e\u0434 \u0438 \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0437\u0430\u0449\u0438\u0442\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 Hi secret             String descriptor = &quot;LOCAL=user&quot;;             DataProtectionProvider dpp = new DataProtectionProvider(descriptor);             IBuffer binaryMessage =               Windows.Security.Cryptography.CryptographicBuffer.ConvertStringToBinary(&quot;Hi secret&quot;, BinaryStringEncoding.Utf8);             var _protectedBuffer = await dpp.ProtectAsync(binaryMessage);             txtEncryptedTextBlock.Text = CryptographicBuffer.EncodeToBase64String(_protectedBuffer);             \/\/ \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043d\u044f\u0442\u044c \u0437\u0430\u0449\u0438\u0442\u0443 \u0441 _protectedBuffer:             DataProtectionProvider datapp = new DataProtectionProvider();             IBuffer unprotectedBuffer = await datapp.UnprotectAsync(_protectedBuffer);             txtUnprotectedTextBlock.Text =               CryptographicBuffer.ConvertBinaryToString(BinaryStringEncoding.Utf8, unprotectedBuffer); <\/code><\/pre>\n<p>  <b>\u0414\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u043e\u043b\u0435\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043b\u0430\u0441\u0441<\/b>  <\/p>\n<pre><code class=\"cs\">var vault = new Windows.Security.Credentials.PasswordVault(); vault.Add(new Windows.Security.Credentials.PasswordCredential(&quot;My App&quot;, &quot;username&quot;, &quot;password&quot;)); <\/code><\/pre>\n<p>  <b>\u041b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/b><br \/>  \u0415\u0441\u043b\u0438 \u0432\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u043e \u0432 Store, \u0442\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u0434\u0430\u0442\u044c \u0435\u043c\u0443 \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u043f\u0440\u043e\u0431\u043d\u044b\u0439 \u043f\u0435\u0440\u0438\u043e\u0434, \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u0435\u0433\u043e \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u043b\u0430\u0441\u0441 <i>CurrentApp.LicenseInformation<\/i>. \u041f\u0440\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043a\u043b\u0430\u0441\u0441 <i>CurrentAppSimulator<\/i>. \u041a\u0440\u0430\u0442\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440:  <\/p>\n<pre><code class=\"cs\">using Windows.ApplicationModel.Store;  var licenseInfo = CurrentAppSimulator.LicenseInformation;             if (licenseInfo.IsActive)             {                 if (licenseInfo.IsTrial) \/\/ \u041f\u043e\u043c\u043d\u0438\u0442\u0435, \u0447\u0442\u043e IsTrial \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 true \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0431\u043d\u044b\u0439 \u043f\u0435\u0440\u0438\u043e\u0434 \u0443\u0436\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d                 {                     await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,                     () =&gt;                     {                         txtLicenseRemainingDays.Text = (licenseInfo.ExpirationDate - DateTime.Now).Days.ToString();                     });                 }                 else                 {                     txtLicenseRemainingDays.Text = &quot;\u041f\u043e\u043b\u043d\u0430\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f&quot;;                 }             }             else             {                 txtLicenseRemainingDays.Text = &quot;\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438: license is expired!&quot;;             } <\/code><\/pre>\n<p>  \u041f\u043e\u0434\u043f\u0438\u0441\u043a\u0430 \u043d\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 (\u0434\u043b\u044f \u00ab\u043b\u043e\u0432\u043b\u0438\u00bb \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0430 \u0438\u043b\u0438 \u043f\u043e\u043a\u0443\u043f\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f):  <\/p>\n<pre><code class=\"cs\">CurrentAppSimulator.LicenseInformation.LicenseChanged += LicenseInformation_LicenseChanged; <\/code><\/pre>\n<p>  \u041f\u0440\u0438\u043e\u0431\u0440\u0435\u0441\u0442\u0438 \u043f\u043e\u043b\u043d\u0443\u044e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a:  <\/p>\n<pre><code class=\"cs\">await CurrentApp.RequestAppPurchaseAsync(false); <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c true, \u0442\u043e \u0432\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d Receipt \u2013 xml \u0444\u0430\u0439\u043b \u0441 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043e \u043f\u043e\u043a\u0443\u043f\u043a\u0435.<br \/>  \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0444\u0438\u0447\u0438. \u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e, \u043a\u0430\u043a \u0432 \u043c\u043e\u0434\u0435\u043b\u0438 Free-to-play. \u0421\u043a\u0430\u0436\u0435\u043c, \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043a\u0443\u043b\u0438\u043d\u0430\u0440\u043d\u044b\u043c \u0440\u0435\u0446\u0435\u043f\u0442\u0430\u043c, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0441\u0442\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0440\u0435\u0446\u0435\u043f\u0442\u044b (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0442\u0430\u0440\u0438\u043d\u043d\u044b\u0439 \u0440\u0435\u0446\u0435\u043f\u0442 \u0442\u0430\u0431\u0443\u0440\u0435\u0442\u043e\u0432\u043a\u0438).   <\/p>\n<pre><code class=\"cs\">ListingInformation listingInfo = await CurrentAppSimulator.LoadListingInformationAsync(); var productListing = listingInfo.ProductListings[&quot;feature1&quot;]; txtInAppPurchaseFeaturePrice.Text = String.Format(&quot;\u041a\u0443\u043f\u0438\u0442\u0435 \u044d\u0442\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430 {0}&quot;, productListing.FormattedPrice); <\/code><\/pre>\n<p>  \u041f\u0440\u0438\u043e\u0431\u0440\u0435\u0441\u0442\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430 <i>CurrentApp.RequestProductPurchaseAsync(false)<\/i><\/p>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u043b\u0430\u0441\u0441 CurrentAppSimulator, \u0434\u043b\u044f \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\u043c\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0444\u0430\u0439\u043b <i>WindowsStoreProxy.xml<\/i> \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u043f\u0443\u0442\u0438:<br \/>  C:\\Users\\\\AppData\\Local\\Packages\\\\LocalState\\Microsoft\\Windows Store\\ApiData\\WindowsStoreProxy.xml<br \/>  \u041b\u044e\u0431\u044b\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0442\u044c \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044e\u0442 \u0438 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u044e\u0442 \u0444\u0430\u0439\u043b WindowsStoreProxy.xml, \u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438.<br \/>  \u0412\u043c\u0435\u0441\u0442\u043e WindowsStoreProxy.xml \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u0441\u0443\u043d\u0443\u0442\u044c \u0441\u0432\u043e\u0439 \u0444\u0430\u0439\u043b:  <\/p>\n<pre><code class=\"cs\">StorageFolder proxyDataFolder = await Package.Current.InstalledLocation.GetFolderAsync(&quot;trial-configs&quot;); StorageFile proxyFile = await proxyDataFolder.GetFileAsync(&quot;timed-trial.xml&quot;); await CurrentAppSimulator.ReloadSimulatorAsync(proxyFile); <\/code><\/pre>\n<p>  <b>WinMD<\/b><br \/>  WinMD \u044d\u0442\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 Windows Runtime, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f Windows Store \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (\u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 PCL). \u0415\u0441\u043b\u0438 \u0435\u0435 \u043a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0430 C++, \u0442\u043e \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u043a \u043d\u0435\u0439 \u0438\u0437 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 C#\/JavaScript \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0435\u0442 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441 \u0442\u0435\u043c \u0436\u0435 \u043a\u043e\u0434\u043e\u043c \u043d\u0430 C#. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 JavaScript. <br \/>  \u0412 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 WinMD \u043c\u0435\u0442\u043e\u0434\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u044b. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043e\u043a \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 Windows.Foundation.Metadata.DefaultOverloadAttribute() \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0439 \u044d\u0442\u0438\u0445 \u0438\u0437 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043e\u043a.<br \/>  \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0430\u0448\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Windows Store, \u0438 \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432 \u0441\u0435\u0431\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044b Windows Store, \u0442\u043e \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c WinMD, \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0432\u0430\u043c \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u0434\u043e\u0439\u0434\u0435\u0442 PCL.<\/p>\n<p>  \u041f\u043e\u043b\u044f, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438 \u0447\u043b\u0435\u043d\u044b \u0432\u0430\u0448\u0435\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0442\u0438\u043f\u043e\u0432 Windows Runtime. \u0412\u043e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0435 \u0442\u0438\u043f\u044b WinRT \u0438 .Net<br \/>  <i>Windows Runtime \u2014 .NET Framework<\/i><br \/>  IIterable \u2014 IEnumerable <br \/>  IVector \u2014 IList <br \/>  IVectorView \u2014 IReadOnlyList <br \/>  IMap&lt;K, V&gt; \u2014 IDictionary&lt;TKey, TValue&gt; <br \/>  IBindableIterable \u2014 IEnumerable <br \/>  IBindableVector \u2014 IList <\/p>\n<p>  <b>\u0416\u0438\u0437\u043d\u0435\u043d\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/b><br \/>  <i>Running \u2014 Suspended \u2014 NotRunning<\/i><br \/>  \u041f\u043e\u0441\u043b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 NotRunning<br \/>  \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 Suspended \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u044d\u043d\u0435\u0440\u0433\u0438\u0438. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0448\u043b\u043e \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 Suspending \u0447\u0435\u0440\u0435\u0437 5 \u0441\u0435\u043a\u0443\u043d\u0434 \u043e\u043d\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0432\u043e\u044e \u0440\u0430\u0431\u043e\u0442\u0443<\/p>\n<p>  <b>HASHING<\/b><br \/>  \u0412\u044b, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0445\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 (\u0441\u043a\u0430\u0436\u0435\u043c, \u043f\u0430\u0440\u043e\u043b\u0435\u0439) \u0438\u043b\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u0440\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438\/\u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0441\u043d\u0438\u043f\u043f\u0435\u0442 \u0432 \u0442\u0435\u043c\u0443:   <\/p>\n<pre><code class=\"cs\">using Windows.Security.Cryptography; using Windows.Storage.Streams; using Windows.Security.Cryptography.Core;      String hashAlgorithmName = HashAlgorithmNames.Sha512;             IBuffer binaryMessage = CryptographicBuffer.ConvertStringToBinary(&quot;\u0422\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d \u0445\u0435\u0448&quot;, BinaryStringEncoding.Utf8);             HashAlgorithmProvider hashProvider = HashAlgorithmProvider.OpenAlgorithm(hashAlgorithmName);             IBuffer hashedMessage = hashProvider.HashData(binaryMessage);             if (hashedMessage.Length != hashProvider.HashLength)                 txtHash.Text = &quot;\u041f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 hash \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430&quot;;             txtHash.Text = CryptographicBuffer.EncodeToBase64String(hashedMessage); <\/code><\/pre>\n<p>  \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u0430\u0441\u0441\u0430 <i>CryptographicBuffer<\/i> \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c 32-\u0431\u0438\u0442\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e:  <\/p>\n<pre><code class=\"cs\">RandomNumberTextBlock.Text = CryptographicBuffer.GenerateRandomNumber().ToString(); <\/code><\/pre>\n<p>  \u0418\u043b\u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435:  <\/p>\n<pre><code class=\"cs\">UInt32 length = 32; IBuffer rndData = CryptographicBuffer.GenerateRandom(length); RandomDataTextBlock.Text = CryptographicBuffer.EncodeToHexString(rndData); <\/code><\/pre>\n<p>  HMAC \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e \u0432\u0435\u0440\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u043e \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e\u0449\u0443\u044e, \u0447\u0442\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0448\u043b\u043e \u043e\u0442 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f. \u041f\u0440\u043e\u0449\u0435 \u0432\u044b\u0440\u0430\u0436\u0430\u044f\u0441\u044c, \u044d\u0442\u043e \u0445\u0435\u0448 \u0441 \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u044e.<br \/>  \u0426\u0438\u0444\u0440\u043e\u0432\u044b\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0436\u0438 \u043d\u0430 HMAC, \u0441 \u0442\u0435\u043c \u043b\u0438\u0448\u044c \u043e\u0442\u043b\u0438\u0447\u0438\u0435\u043c, \u0447\u0442\u043e \u0432 HMAC \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447, \u0430 \u0432 \u0446\u0438\u0444\u0440\u043e\u0432\u044b\u0445 \u043f\u043e\u0434\u043f\u0438\u0441\u044f\u0445 \u2013 \u0430\u0441\u0441\u0438\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u044b\u0439, \u043f\u0440\u0438\u0447\u0435\u043c \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0432\u043d\u0435\u0434\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442.<\/p>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u043f\u043e\u043a\u0430 \u0447\u0442\u043e \u0432\u0441\u0435. \u041a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 PlayTo, Printing, Backgroundtasks \u0438 \u0433\u0435\u043e\u043b\u043e\u043a\u0430\u0446\u0438\u044f \u043d\u0435 \u0443\u043c\u0435\u0441\u0442\u0438\u043b\u0438\u0441\u044c \u0431\u044b \u0437\u0434\u0435\u0441\u044c, \u2014 \u043e\u043d\u0438 \u0437\u0430\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0435\u0439. \u0422\u0430\u043a\u0436\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c\u0438 \u0438 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u043c\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0430\u043c\u0438, \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f\u043c\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u0438\u043d\u0433\u043e\u043c (\u0432 Windows Store \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e sampling \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438) \u0438 \u0432\u0441\u0435\u043c\u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0442\u0435\u043c\u0430\u043c\u0438 \u044d\u043a\u0437\u0430\u043c\u0435\u043d\u0430.<br \/>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u0434\u0430\u0442\u044c \u044d\u043a\u0437\u0430\u043c\u0435\u043d \u043a\u0440\u0430\u0439\u043d\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u0432\u043b\u0430\u0434\u0435\u0442\u044c \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u043c \u044f\u0437\u044b\u043a\u043e\u043c. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u0442\u0435\u0441\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0441\u0434\u0430\u0432\u0430\u0442\u044c, \u0432 \u044d\u0442\u043e\u043c \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442\u0441\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438. \u041f\u0440\u043e\u0447\u0438\u0442\u0430\u0432 \u0422\u0417 \u0438 \u043f\u043e\u0436\u0435\u043b\u0430\u043d\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u0438\u043b\u0438 \u0441\u043e\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u043a\u0438 \u043a\u043e\u0434\u0430. \u0414\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043e\u0431\u044a\u0435\u043c\u044b \u0442\u0435\u043a\u0441\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0436\u0430\u0442\u044b\u0435 \u0441\u0440\u043e\u043a\u0438. \u041f\u0440\u0438 \u0441\u0434\u0430\u0447\u0435 \u043e\u0447\u0435\u043d\u044c \u0447\u0430\u0441\u0442\u043e \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u044e\u0442, \u0447\u0442\u043e \u0432\u044b \u0432\u043b\u0430\u0434\u0435\u0435\u0442\u0435 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043e\u0440\u0438\u0435\u0439, \u043d\u043e \u0438 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0437\u043d\u0430\u0435\u0442\u0435 \u043a\u0430\u043a\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0442\u043e\u0433\u043e \u0438\u043b\u0438 \u0438\u043d\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430.<\/p>\n<p>  \u041e\u0442\u0440\u0430\u0434\u043d\u043e, \u0447\u0442\u043e \u0420\u043e\u0441\u0441\u0438\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0441\u0442\u0440\u0430\u043d, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u043e\u043d\u043b\u0430\u0439\u043d \u0441\u0434\u0430\u0447\u0430 \u044d\u043a\u0437\u0430\u043c\u0435\u043d\u0430. \u041f\u0443\u0441\u043a\u0430\u0439, \u044d\u0442\u043e \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u043e\u043a\u0430 \u0447\u0442\u043e \u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u0430\u0434\u0438\u0438 \u0431\u0435\u0442\u0430-\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435: <a href=\"https:\/\/www.microsoft.com\/learning\/ru-ru\/online-proctored-exams.aspx\">\u041e\u043d\u043b\u0430\u0439\u043d-\u044d\u043a\u0437\u0430\u043c\u0435\u043d\u044b<\/a>     \t<\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/261967\/\"> http:\/\/habrahabr.ru\/post\/261967\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>     \t<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/373\/990\/ab0\/373990ab0f914fa6a7d68049b1ce83d9.jpg\"\/><br \/>  \u041f\u043e\u043a\u0430 \u0432\u0441\u0435 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u044b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u0435\u0434\u0432\u043a\u0443\u0448\u0430\u044e\u0442 \u0432\u044b\u0445\u043e\u0434 Windows 10 \u0438 \u0433\u043e\u0442\u043e\u0432\u044f\u0442\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0434 \u043d\u0435\u0435, \u044f, \u043f\u043e\u0441\u043b\u0435 \u0441\u0434\u0430\u0447\u0438 \u0442\u0435\u0441\u0442\u0430 70-485, \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u0443\u0433\u043b\u0443\u0431\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043f\u043e\u0434 Windows 8 \u0438 8.1. \u0411\u043b\u0430\u0433\u043e, \u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e 10 \u0438 \u043f\u043e\u0434 8.1 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0449\u0435\u0433\u043e. \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e \u0437\u0430\u0434\u0443\u043c\u043a\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c \u0441\u0434\u0430\u0442\u044c \u044d\u043a\u0437\u0430\u043c\u0435\u043d 70-485, \u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u0432 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0432\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f Windows Store. \u041e\u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 must know \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u044b, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 WinRT, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0434\u0430\u043d\u044b \u043a\u0430\u0432\u0435\u0440\u0437\u043d\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b.<br \/>  \u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u043e\u0431\u043e \u0432\u0441\u0435\u043c \u043f\u043e\u043d\u0435\u043c\u043d\u043e\u0433\u0443. \u0422\u0430\u043a \u043a\u0430\u043a \u0432\u0441\u0435 \u043e\u0445\u0432\u0430\u0442\u0438\u0442\u044c \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0441\u0432\u043e\u0435\u043e\u0431\u0440\u0430\u0437\u043d\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u043a\u0430.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-261020","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/261020","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=261020"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/261020\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=261020"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=261020"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=261020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}