如何使用C#构建软电话(使用SIP协议)

我有使用c#或.net技术构建SIP软电话的挑战。 请指导我建立这样的技术,要求和规格。 可能的要求: 支持的编解码器: G.722.1,G.723.1,G.726,G.728,G.711,G.729,G.723.1,iLBC,:G.711(A和m-law),G.729A / B / D / E,AMR,GSM 6.10 / EFR,iLBC,Speex 语音: 实时质量监控(MOS)3条独立电话线 自动应答/请勿打扰呼叫 转发全双工音频 录制压缩音频数据。 完全SIP兼容的软电话/拨号器用于PC2Phone和Mobile2Phone(iPhone,诺基亚N95)应用程序与symbian s60,应提供完整的源代码。 兼容Windows 2000 / XP / 2003 / Vista / Mac NAT /防火墙遍历function 适用于任何第三方SIP服务器 支持SIP出站代理 显示呼叫者帐户余额 显示通话信用时间 自动回声消除 自动抖动缓冲调整 最后号码重拨 上次拨打的10个号码的历史记录 快速拨号用户列表 快速为客户提供,只需要用户名和密码

在MVC3中使用Server.MapPath

我有代码 string xsltPath = System.Web.HttpContext.Current.Server.MapPath(@”App_Data”) + “\\” + TransformFileName 它回来了 C:\inetpub\wwwroot\websiteName\SERVICENAME\App_Data\FileName.xsl 为什么我要获取ServiceController, SERVICENAME的路径? 我想要的App_Data路径 C:\inetpub\wwwroot\websiteName\App_Data\FileName.xsl

从文件扩展名中获取ImageFormat

有没有快速的方法来获取与特定文件扩展名关联的ImageFormat对象? 我正在寻找比每种格式更快的字符串比较。

如何在ActiveDirectory和.NET 3.5中确定用户所属的所有组(包括嵌套组)

我有一个使用ActiveDirecotry授权的应用程序,并且已经决定它需要支持嵌套的AD组,例如: MAIN_AD_GROUP | |-> SUB_GROUP | |-> User 因此,用户不直接成为MAIN_AD_GROUP的成员。 我希望能够递归地查找用户,搜索嵌套在MAIN_AD_GROUP的组。 主要问题是我使用的是.NET 3.5,并且.NET 3.5中的System.DirectoryServices.AccountManagement存在一个错误,即UserPrincipal.IsMemberOf()方法UserPrincipal.IsMemberOf() 用于超过1500个用户的组 。 所以我不能使用UserPrincipal.IsMemberOf()而不是,我也无法切换到.NET 4。 我用以下函数解决了这个最后一个问题: private bool IsMember(Principal userPrincipal, Principal groupPrincipal) { using (var groups = userPrincipal.GetGroups()) { var isMember = groups.Any(g => g.DistinguishedName == groupPrincipal.DistinguishedName); return isMember; } } 但userPrincipal.GetGroups()仅返回用户是其直接成员的组。 如何使用嵌套组?

如何在UWP应用程序中创建COM对象? (C#)

问题:如何在通用Windows平台(UWP)应用程序中创建COM对象? 动机:我想从WPF切换到UWP。 由于我的工作量要求只能通过COM访问第三方库(据我所知),我需要从UWP进行COM调用。 语境: C# 。净 Visual Studio 2015 Windows 10 理想情况下针对所有UWP设备,但如果仅限于台式机/笔记本电脑,则可以。 背景 在Visual Studio 2013(Visual Studio 2015中的“经典桌面”项目)中,我使用了C#代码 // Conceptual: DotNetInterface comObjectInstance = (DotNetInterface)Microsoft.VisualBasic.Interaction.CreateObject( “this string specified the COM object type” ); // Example: Open Excel via COM: Excel.Application oApp = (Excel.Application)Interaction.CreateObject(“Excel.Application”); Visual Studio项目需要对Microsoft.VisualBasic的引用才能使用Interaction.CreateObject()和COM对象的类型库。 我想在Windows 10 Education上的Visual Studio 2015 Enterprise生成的通用Windows平台(UWP)应用程序中使用此C#代码。 我能够添加对COM对象的类型库的引用,但无法引用Microsoft.VisualBasic因为它没有出现在Visual Studio的Reference Manager中。 思考,尝试过的解决方案,猜测等 我添加了对“UWP的Windows桌面扩展”的引用,希望它可以启用对普通.NETfunction的调用,但还没有弄清楚如何使用它。 […]

.Net WebDAV服务器

我期待在ASP.Net中实现WebDAV服务器。 该应用程序将部署到IIS 6.我已经看到一些框架提供此function,但我似乎无法确定他们如何能够在没有(显然)修改IIS设置的情况下完成它。 我的具体问题是如何配置IIS和ASP.Net,以便IHttpModule / IHttpHandler可能有机会处理任何其他WebDAV谓词(即LOCK,OPTIONS,PROFIND等)

为什么我会看到使用本机代码增加约20%的速度?

知道为什么这个代码: extern “C” __declspec(dllexport) void Transform(double x[], double y[], int iterations, bool forward) { long n, i, i1, j, k, i2, l, l1, l2; double c1, c2, tx, ty, t1, t2, u1, u2, z; /* Calculate the number of points */ n = (long)pow((double)2, (double)iterations); /* Do the bit reversal */ i2 = n >> […]

如何为Console.WriteLine创建快捷方式

我必须在我的代码中多次键入Console.WriteLine()所以任何人都可以告诉我为Console.WriteLine创建一个快捷方式,就像我可以使用它一样 CW=Console.WriteLine(); //After that i can use this CW for my Console.WriteLine() like CW(“Print Something”);

如何在一组大数字中找到平均值?

我有一大堆数字,可能在几千兆字节范围内。 第一个问题是我无法将所有这些存储在内存中。 其次,任何添加这些的尝试都会导致溢出。 我想要使​​用更多的滚动平均值,但它需要准确。 有任何想法吗? 这些都是浮点数。 这不是从数据库中读取的,而是从多个源收集的CSV文件。 它必须准确,因为它存储为秒的一部分(例如; 0.293482888929),滚动平均值可以是.2和.3之间的差值。 它是一组#,表示用户响应某些表单操作的时间。 例如,在显示消息框时,按“确定”或“取消”需要多长时间。 数据发送给我存储为秒。部分秒; 例如1.2347秒。 将它转换为毫秒,我溢出int,long等…相当快。 即使我不转换它,我仍然会很快溢出它。 我想下面的一个答案是正确的,也许我不必100%准确,只是在一个特定的StdDev内部的某个范围内看,我会足够接近。

为什么使用System.Runtime.Caching或System.Web.Caching Vs静态变量?

长时间听众 – 第一次来电。 我希望得到一些建议。 我一直在阅读.net中的缓存 – 包括System.Web.Caching和System.Runtime.Caching。 我想知道我可以获得什么额外的好处与简单地创建一个带锁定的静态变量。 我目前的(简单的)缓存方法是这样的: public class Cache { private static List _allCategories; private static readonly object _lockObject = new object(); public static List AllCategories { get { lock (_lockObject) { if (_allCategories == null) { _allCategories = //DB CALL TO POPULATE } } return _allCategories; } } } 除了到期(我不希望它到期)我不知道使用内置缓存的好处是什么。 也许对于不适用于我的更复杂的缓存方案有好处 […]