我有一个看起来像这样的代码.当ResolveAll我试图做一个 我期望IParserType从容器实例中产生的所有注册的类型.但我没有得到任何实例Unity.我在这里假设或做错了什么.
public class ResolveAllDemo
{
public ResolveAllDemo()
{
var container = new UnityContainer();
container.RegisterInstance<IUnityContainer>(container);
container.RegisterType<IParser, SuperParser>();
container.RegisterType<IParser, DefaultParser>();
container.RegisterType<IParser, BasicParser>();
// container.RegisterType<Crawler>();
container.RegisterType<IParserFactory, UnityParserFactory>();
foreach (var registeredMember in container.ResolveAll<IParser>())
{
LoggingUtility.LogerInstance.Logger.Write(registeredMember);
}
}
#region Resolve Demo
public interface IParserFactory
{
IEnumerable<IParser> BuildParsers();
}
public class UnityParserFactory : IParserFactory
{
private IUnityContainer _container;
public UnityParserFactory(IUnityContainer container)
{
_container = container;
}
public IEnumerable<IParser> BuildParsers()
{
return _container.ResolveAll<IParser>();
}
}
public class DefaultParser : IParser …Run Code Online (Sandbox Code Playgroud) 我有一个使用 WebSocket 进行通信的 Xamarin 应用程序。在客户端,我引用了ClientWebSocket.
代码:
using (var client = new ClientWebSocket() { Options = { KeepAliveInterval = new TimeSpan(0,0,3,0) }})
{
try
{
await client.ConnectAsync(requestUri, cancellationToken);
do
{
WebSocketReceiveResult result = null;
var buffer = new byte[ReceiveChunkSize];
var message = new ArraySegment<byte>(buffer);
do
{
result = await client.ReceiveAsync(message, cancellationToken);
var receivedMessage = Encoding.UTF8.GetString(buffer, 0, result.Count);
data.Append(receivedMessage);
if (result.MessageType != WebSocketMessageType.Text)
break;
} while (!result.EndOfMessage);
TranslateData(data);
} while (client.State == WebSocketState.Open && !cancellationToken.IsCancellationRequested);
Run Code Online (Sandbox Code Playgroud)
应用程序断断续续地抛出:
System.Net.WebSockets.WebSocketException (0x80004005): The remote …Run Code Online (Sandbox Code Playgroud) 我一直在尝试处理Rx库并使用MVVM在WPF中进行处理.我将我的应用程序分解为诸如存储库和ViewModel之类的组件.我的存储库能够一个接一个地提供学生集合,但是当我尝试添加到View绑定的ObservableCollection时,它会抛出一个线程错误.我会指出一些指针,让这对我有用.
我有一个看起来像这样的WPF代码.
public class AlphaProductesVM : BaseModel
{
private ObservableCollection<Alphabetical_list_of_product> _NwCustomers;
private int i = 0;
public AlphaProductesVM ()
{
_NwCustomers = new ObservableCollection<Alphabetical_list_of_product>();
var repository = new NorthwindRepository();
repository
.GetAllProducts()
.ObserveOn(SynchronizationContext.Current)
.Subscribe(AddElement);
}
public void AddElements(IEnumerable<Alphabetical_list_of_product> elements)
{
foreach (var alphabeticalListOfProduct in elements)
{
AddElement(alphabeticalListOfProduct);
}
}
public ObservableCollection<Alphabetical_list_of_product> NwCustomers
{
get { return _NwCustomers; }
set { _NwCustomers = value; }
}}
Run Code Online (Sandbox Code Playgroud)
我使用Unity来解决上述问题AlphaProductesVM.使用PRISM和UnityBootstrapper发现模块时,这是即时的.在运行时.ObserveOn(SynchronizationContext.Current)抛出异常并SynchronizationContext.Current在其中包含null值.
我有一个使用 Azure Sql 服务器的 .net6 应用程序。该应用程序在 .Net3.1 上运行良好,但是当移植到 .Net6 时,该应用程序会抛出 Sql 服务器错误
Microsoft.Data.SqlClient.SqlException (0x80131904):您尝试连接的 SQL Server 实例需要加密,但本计算机不支持它
dockerfile 非常通用,如下所示
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["Presentation/Web.Cms/Web.Cms.csproj", "Presentation/Web.Cms/"]
RUN dotnet restore "Presentation\Web.Cms\Web.Cms.csproj"
COPY . .
WORKDIR "/src/Presentation/Web.Cms"
RUN dotnet build "Web.Cms.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Web.Cms.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Web.Cms.dll"]
EXPOSE 80
EXPOSE 443 …Run Code Online (Sandbox Code Playgroud)